http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60256

            Bug ID: 60256
           Summary: No -Wuninitialized warning for strcpy
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: chengniansun at gmail dot com

The pointer "s" is uninitialized, but used in the later call to strcpy.

$: cat s.c
#include<string.h>
void f(void) {
  char* s;
  strcpy(s, s);
}
$: gcc-trunk -Wuninitialized s.c -c
$: clang-trunk -Wuninitialized s.c -c
s.c:4:10: warning: variable 's' is uninitialized when used here
      [-Wuninitialized]
  strcpy(s, s);
         ^
s.c:3:10: note: initialize the variable 's' to silence this warning
  char* s;
         ^
          = NULL
1 warning generated.
$: gcc-trunk --version
gcc-trunk (GCC) 4.9.0 20140217 (experimental)
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Reply via email to