embryo_cc - fix possible buffer overrun
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>
Mon, 1 Sep 2014 10:12:21 +0000 (19:12 +0900)
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>
Mon, 1 Sep 2014 10:40:46 +0000 (19:40 +0900)
fix CID 1039592

src/bin/embryo/embryo_cc_sc1.c

index aee5abb..2b9fc8c 100644 (file)
@@ -2481,7 +2481,8 @@ declargs(symbol * sym)
               case tSYMBOL:
                  if (argcnt >= sMAXARGS)
                     error(45); /* too many function arguments */
-                 strcpy(name, ptr);    /* save symbol name */
+                 strncpy(name, ptr, sizeof(name) - 1); /* save symbol name */
+                  name[sizeof(name) - 1] = 0;
                  if (name[0] == PUBLIC_CHAR)
                     error(56, name);   /* function arguments cannot be public */
                  if (numtags == 0)