@@ -227,10 +227,16 @@ KeyEventDigger::KeyEventDigger():
227
227
d(new Private)
228
228
{
229
229
// register checker-specific key events
230
+ d->hMap [" ALLOC_FREE_MISMATCH" ] .insert (" free" );
231
+ d->hMap [" ARRAY_VS_SINGLETON" ] .insert (" callee_ptr_arith" );
232
+ d->hMap [" ARRAY_VS_SINGLETON" ] .insert (" ptr_arith" );
230
233
d->hMap [" BAD_CHECK_OF_WAIT_COND" ] .insert (" wait_cond_improperly_checked" );
234
+ d->hMap [" BAD_FREE" ] .insert (" incorrect_free" );
231
235
d->hMap [" BAD_LOCK_OBJECT" ] .insert (" boxed_lock" );
232
236
d->hMap [" BAD_LOCK_OBJECT" ] .insert (" lock_on_assigned_field" );
233
237
d->hMap [" BAD_LOCK_OBJECT" ] .insert (" single_thread_lock" );
238
+ d->hMap [" BAD_SHIFT" ] .insert (" large_shift" );
239
+ d->hMap [" BAD_SHIFT" ] .insert (" negative_shift" );
234
240
d->hMap [" CALL_SUPER" ] .insert (" missing_super_call" );
235
241
d->hMap [" CHECKED_RETURN" ] .insert (" check_return" );
236
242
d->hMap [" CHROOT" ] .insert (" chroot_call" );
@@ -248,37 +254,66 @@ KeyEventDigger::KeyEventDigger():
248
254
d->hMap [" EXPLICIT_THIS_EXPECTED" ] .insert (" implicit_this_used" );
249
255
d->hMap [" FORWARD_NULL" ] .insert (" deref_parm" );
250
256
d->hMap [" FORWARD_NULL" ] .insert (" dereference" );
257
+ d->hMap [" FORWARD_NULL" ] .insert (" property_access" );
251
258
d->hMap [" FORWARD_NULL" ] .insert (" var_deref_op" );
252
259
d->hMap [" FORWARD_NULL" ] .insert (" var_deref_model" );
260
+ d->hMap [" HARDCODED_CREDENTIALS" ] .insert (" sink" );
261
+ d->hMap [" INVALIDATE_ITERATOR" ] .insert (" increment_iterator" );
253
262
d->hMap [" LOCK" ] .insert (" double_lock" );
254
263
d->hMap [" LOCK" ] .insert (" double_unlock" );
264
+ d->hMap [" LOCK" ] .insert (" missing_unlock" );
255
265
d->hMap [" LOCK_EVASION" ] .insert (" thread1_overwrites_value_in_field" );
256
266
d->hMap [" LOCK_EVASION" ] .insert (" thread2_checks_field_early" );
257
267
d->hMap [" MISSING_BREAK" ] .insert (" unterminated_case" );
258
268
d->hMap [" MISSING_RESTORE" ] .insert (" end_of_path" );
259
269
d->hMap [" MISSING_RESTORE" ] .insert (" end_of_scope" );
270
+ d->hMap [" MULTIPLE_INIT_SMART_PTRS" ] .insert (" multiple_init_smart_ptr" );
260
271
d->hMap [" NESTING_INDENT_MISMATCH" ] .insert (" actual_if" );
261
272
d->hMap [" NESTING_INDENT_MISMATCH" ] .insert (" multi_stmt_macro" );
262
273
d->hMap [" NESTING_INDENT_MISMATCH" ] .insert (" on_same_line" );
263
274
d->hMap [" NESTING_INDENT_MISMATCH" ] .insert (" uncle" );
275
+ d->hMap [" NULL_RETURNS" ] .insert (" dereference" );
264
276
d->hMap [" ORDER_REVERSAL" ] .insert (" lock_order" );
265
277
d->hMap [" OVERLAPPING_COPY" ] .insert (" overlapping_assignment" );
278
+ d->hMap [" OVERLAPPING_COPY" ] .insert (" overlapping_copy" );
279
+ d->hMap [" OVERRUN" ] .insert (" alloc_strlen" );
280
+ d->hMap [" OVERRUN" ] .insert (" illegal_address" );
281
+ d->hMap [" OVERRUN" ] .insert (" overrun-buffer-arg" );
282
+ d->hMap [" OVERRUN" ] .insert (" overrun-buffer-val" );
283
+ d->hMap [" OVERRUN" ] .insert (" overrun-call" );
284
+ d->hMap [" OVERRUN" ] .insert (" overrun-local" );
266
285
d->hMap [" OVERRUN_STATIC" ] .insert (" index_parm" );
267
286
d->hMap [" OVERRUN_STATIC" ] .insert (" overrun-buffer-arg" );
268
287
d->hMap [" OVERRUN_STATIC" ] .insert (" overrun-local" );
288
+ d->hMap [" RESOURCE_LEAK" ] .insert (" leaked_handle" );
289
+ d->hMap [" RESOURCE_LEAK" ] .insert (" leaked_storage" );
290
+ d->hMap [" RESOURCE_LEAK" ] .insert (" overwrite_var" );
269
291
d->hMap [" REVERSE_INULL" ] .insert (" check_after_deref" );
292
+ d->hMap [" REVERSE_NEGATIVE" ] .insert (" check_after_sink" );
293
+ d->hMap [" RETURN_LOCAL" ] .insert (" return_local_addr_identity" );
294
+ d->hMap [" RETURN_LOCAL" ] .insert (" use_invalid" );
270
295
d->hMap [" STREAM_FORMAT_STATE" ] .insert (" end_of_path" );
271
296
d->hMap [" STRING_OVERFLOW" ] .insert (" fixed_size_dest" );
297
+ d->hMap [" TAINTED_SCALAR" ] .insert (" tainted_data" );
272
298
d->hMap [" TOCTOU" ] .insert (" fs_check_call" );
273
299
d->hMap [" UNEXPECTED_CONTROL_FLOW" ] .insert (" continue_in_do_while_false" );
274
300
d->hMap [" UNINIT" ] .insert (" uninit_use" );
275
301
d->hMap [" UNINIT" ] .insert (" uninit_use_in_call" );
302
+ d->hMap [" UNINIT_CTOR" ] .insert (" member_not_init_in_gen_ctor" );
276
303
d->hMap [" UNINIT_CTOR" ] .insert (" uninit_member" );
304
+ d->hMap [" UNUSED_VALUE" ] .insert (" assigned_pointer" );
305
+ d->hMap [" UNUSED_VALUE" ] .insert (" assigned_value" );
306
+ d->hMap [" UNUSED_VALUE" ] .insert (" returned_pointer" );
307
+ d->hMap [" UNUSED_VALUE" ] .insert (" returned_value" );
277
308
d->hMap [" USE_AFTER_FREE" ] .insert (" deref_after_free" );
278
309
d->hMap [" USE_AFTER_FREE" ] .insert (" deref_arg" );
310
+ d->hMap [" USE_AFTER_FREE" ] .insert (" double_close" );
279
311
d->hMap [" USE_AFTER_FREE" ] .insert (" double_free" );
280
312
d->hMap [" USE_AFTER_FREE" ] .insert (" pass_freed_arg" );
281
313
d->hMap [" USE_AFTER_FREE" ] .insert (" use_after_free" );
314
+ d->hMap [" VARARGS" ] .insert (" missing_va_end" );
315
+ d->hMap [" WRAPPER_ESCAPE" ] .insert (" escape" );
316
+ d->hMap [" WRAPPER_ESCAPE" ] .insert (" use_after_free" );
282
317
283
318
// we use COMPILER_WARNING as checker for compiler errors/warnings
284
319
d->hMap [" COMPILER_WARNING" ] .insert (" error" );
0 commit comments