rapid7/metasploit-framework — pull request #2661 by Meatballs1 (2013-11-20 20:34:55+00:00)
Title: Payload defaults

We don't care what people have set as their target, as they can always choose a payload that doesn't match the target.

E.g. it is easy to set payload windows/x64/meterpreter/reverse_tcp without bothering to change the target from x86 -> x64.

Payloads will NEVER work if they are embedded in the wrong architecture exe/dll but modules MAY work if the payload doesn't match the target. Therefore we should always use the PAYLOAD to determine default arch/platform if possible.