Skip to content

Commit 0a68171

Browse files
committed
Land rapid7#4166, @wchen-r7's fix for undefined method `rank'
* Fixes rapid7#4047 * undefined method `rank' due to an invalid encoder name
2 parents 86ff5f9 + 0b51741 commit 0a68171

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

lib/msf/core/payload_generator.rb

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -308,12 +308,14 @@ def get_encoders
308308
if encoder.present?
309309
# Allow comma seperated list of encoders so users can choose several
310310
encoder.split(',').each do |chosen_encoder|
311-
encoders << framework.encoders.create(chosen_encoder)
311+
e = framework.encoders.create(chosen_encoder)
312+
encoders << e if e
312313
end
313314
encoders.sort_by { |my_encoder| my_encoder.rank }.reverse
314315
elsif badchars.present?
315316
framework.encoders.each_module_ranked('Arch' => [arch], 'Platform' => platform_list) do |name, mod|
316-
encoders << framework.encoders.create(name)
317+
e = framework.encoders.create(name)
318+
encoders << e if e
317319
end
318320
encoders.sort_by { |my_encoder| my_encoder.rank }.reverse
319321
else

msfvenom

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -300,6 +300,7 @@ if __FILE__ == $0
300300
venom_generator = Msf::PayloadGenerator.new(generator_opts)
301301
payload = venom_generator.generate_payload
302302
rescue ::Exception => e
303+
elog("#{e.class} : #{e.message}\n#{e.backtrace * "\n"}")
303304
$stderr.puts e.message
304305
end
305306

0 commit comments

Comments
 (0)