Upvote:3
As long as your passport and visa are both valid, you may travel to Canada. Canada does not have a "six-month requirement" as many countries do.
Source: CBSA
Note from the US State Department: "If you are transiting Canada en route to Europe, your passport must be valid for at least 3 months beyond your planned date of departure from the Schengen area."
Flyertalk agrees with the previous sources.
Based on Dennis's note: While Canada does not require six months validity, they will take extra steps. They will (likely) issue you a visitor record, which is a document requiring you to be out of the country by a certain date. This is because Canada needs for your passport to be valid at all times.
Receiving the Visitor Record requires a trip to Secondary Inspection at the border, which will take some time, depending on how busy they are.
Therefore, you have to consider: do you get a Visitor Record which will cost time from your holiday/travel plans or do you go get a new passport and avoid being taken for extra questioning?