1 #include "check_debug.h"
   2 
   3 void strndup(char *to, int size);
   4 void strcpy(char *dest, char *src);
   5 
   6 void func (char *a, char *b)
   7 {
   8         char c[5];
   9 
  10         a = strndup(b, 5);
  11         strcpy(c, a);
  12 }
  13 /*
  14  * check-name: smatch strndup overflow
  15  * check-command: smatch -I.. sm_overflow4.c
  16  *
  17  * check-output-start
  18 sm_overflow4.c:11 func() error: strcpy() 'a' too large for 'c' (6 vs 5)
  19  * check-output-end
  20  */