File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -23,7 +23,7 @@ def self.create(pinst, reqs = {})
2323 p = EncodedPayload . new ( pinst . framework , pinst , reqs )
2424
2525 p . generate ( reqs [ 'Raw' ] )
26-
26+
2727 return p
2828 end
2929
@@ -59,7 +59,7 @@ def generate(raw = nil)
5959 if ( priority == 0 )
6060 Thread . current . priority = 1
6161 end
62-
62+
6363 begin
6464 # First, validate
6565 pinst . validate ( )
@@ -75,8 +75,6 @@ def generate(raw = nil)
7575
7676 # Finally, set the complete payload definition
7777 self . encoded = ( self . nop_sled || '' ) + self . encoded
78- rescue NoEncodersSucceededError
79- self . encoded = nil
8078 ensure
8179 # Restore the thread priority
8280 Thread . current . priority = priority
@@ -241,7 +239,7 @@ def encode
241239 # If the encoded payload is nil, raise an exception saying that we
242240 # suck at life.
243241 if ( self . encoded == nil )
244- self . encoder = nil
242+ self . encoder = nil
245243 raise NoEncodersSucceededError ,
246244 "#{ pinst . refname } : All encoders failed to encode." ,
247245 caller
Original file line number Diff line number Diff line change @@ -141,7 +141,9 @@ def handle_connection(conn, opts={})
141141 warning_msg << " (#{ conn . peerhost } )" if conn . respond_to? :peerhost
142142 warning_msg << ": #{ $!} "
143143 print_warning warning_msg
144- conn . close if conn . respond_to? :close
144+ if conn . respond_to? :close && !conn . closed?
145+ conn . close
146+ end
145147 return
146148 end
147149
@@ -256,7 +258,7 @@ def encode_stage(stg)
256258 'EncoderOptions' => { 'SaveRegisters' => saved_registers } ,
257259 'ForceSaveRegisters' => true ,
258260 'ForceEncode' => true )
259-
261+
260262 if encp . encoder
261263 print_status ( "Encoded stage with #{ encp . encoder . refname } " )
262264 estg = encp . encoded
You can’t perform that action at this time.
0 commit comments