@@ -179,17 +179,17 @@ def is_match(params, module_metadata, regex_cache)
179179 when 'aka'
180180 match = [ keyword , search_term ] if ( module_metadata . notes [ 'AKA' ] || [ ] ) . any? { |aka | aka =~ regex }
181181 when 'author' , 'authors'
182- match = [ keyword , search_term ] if module_metadata . author . any? { |author | author =~ regex }
182+ match = [ keyword , search_term ] if module_metadata . author && module_metadata . author . any? { |author | author =~ regex }
183183 when 'arch'
184184 match = [ keyword , search_term ] if module_metadata . arch =~ regex
185185 when 'cve'
186- match = [ keyword , search_term ] if module_metadata . references . any? { |ref | ref =~ /^cve\- /i and ref =~ regex }
186+ match = [ keyword , search_term ] if module_metadata . references && module_metadata . references . any? { |ref | ref =~ /^cve\- /i and ref =~ regex }
187187 when 'osvdb'
188- match = [ keyword , search_term ] if module_metadata . references . any? { |ref | ref =~ /^osvdb\- /i and ref =~ regex }
188+ match = [ keyword , search_term ] if module_metadata . references && module_metadata . references . any? { |ref | ref =~ /^osvdb\- /i and ref =~ regex }
189189 when 'bid'
190- match = [ keyword , search_term ] if module_metadata . references . any? { |ref | ref =~ /^bid\- /i and ref =~ regex }
190+ match = [ keyword , search_term ] if module_metadata . references && module_metadata . references . any? { |ref | ref =~ /^bid\- /i and ref =~ regex }
191191 when 'edb'
192- match = [ keyword , search_term ] if module_metadata . references . any? { |ref | ref =~ /^edb\- /i and ref =~ regex }
192+ match = [ keyword , search_term ] if module_metadata . references && module_metadata . references . any? { |ref | ref =~ /^edb\- /i and ref =~ regex }
193193 when 'check'
194194 if module_metadata . check
195195 matches_check = %w( true yes ) . any? { |val | val =~ regex }
@@ -255,9 +255,9 @@ def is_match(params, module_metadata, regex_cache)
255255 when 'ref' , 'ref_name'
256256 match = [ keyword , search_term ] if module_metadata . ref_name =~ regex
257257 when 'reference' , 'references'
258- match = [ keyword , search_term ] if module_metadata . references . any? { |ref | ref =~ regex }
258+ match = [ keyword , search_term ] if module_metadata . references && module_metadata . references . any? { |ref | ref =~ regex }
259259 when 'target' , 'targets'
260- match = [ keyword , search_term ] if module_metadata . targets . any? { |target | target =~ regex }
260+ match = [ keyword , search_term ] if module_metadata . targets && module_metadata . targets . any? { |target | target =~ regex }
261261 when 'type'
262262 match = [ keyword , search_term ] if Msf ::MODULE_TYPES . any? { |module_type | search_term == module_type and module_metadata . type == module_type }
263263 else
0 commit comments