X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fbin%2Fembryo_cc_sc1.c;fp=mobile%2Fsrc%2Fbin%2Fembryo_cc_sc1.c;h=0437e88643d173afba567a467e78806a57027f05;hb=029546b0142af87f71aeb8afe717204d655619c3;hp=9ee3ad80fa696292ef46276a4bf669e84e4bbaa1;hpb=32ce638e6e781f86dbbecd7e967f0e0ac3dc8db3;p=framework%2Fuifw%2Fembryo.git diff --git a/mobile/src/bin/embryo_cc_sc1.c b/src/bin/embryo_cc_sc1.c similarity index 99% rename from mobile/src/bin/embryo_cc_sc1.c rename to src/bin/embryo_cc_sc1.c index 9ee3ad8..0437e88 100644 --- a/mobile/src/bin/embryo_cc_sc1.c +++ b/src/bin/embryo_cc_sc1.c @@ -590,7 +590,8 @@ parseoptions(int argc, char **argv, char *iname, char *oname, { /* include directory */ i++; - strncpy(str, argv[i], sizeof(str)); + strncpy(str, argv[i], sizeof(str) -1); + str[sizeof(str) - 1] = '\0'; len = strlen(str); if (str[len - 1] != DIRSEP_CHAR) @@ -1549,7 +1550,8 @@ decl_const(int vclass) if (lex(&val, &str) != tSYMBOL) /* read in (new) token */ error(20, str); /* invalid symbol name */ symbolline = fline; /* save line where symbol was found */ - strcpy(constname, str); /* save symbol name */ + strncpy(constname, str, sizeof(constname) - 1); /* save symbol name */ + constname[sizeof(constname) - 1] = 0; needtoken('='); constexpr(&val, &exprtag); /* get value */ needtoken(tTERM); @@ -1599,7 +1601,8 @@ decl_enum(int vclass) * tag was set) */ if (lex(&val, &str) == tSYMBOL) { /* read in (new) token */ - strcpy(enumname, str); /* save enum name (last constant) */ + strncpy(enumname, str, sizeof(enumname) - 1); /* save enum name (last constant) */ + enumname[sizeof(enumname) - 1] = 0; if (!explicittag) tag = sc_addtag(enumname); } @@ -1644,7 +1647,8 @@ decl_enum(int vclass) tok = lex(&val, &str); /* read in (new) token */ if (tok != tSYMBOL && tok != tLABEL) error(20, str); /* invalid symbol name */ - strcpy(constname, str); /* save symbol name */ + strncpy(constname, str, sNAMEMAX); /* save symbol name */ + constname[sNAMEMAX] = 0; size = increment; /* default increment of 'val' */ if (tok == tLABEL || matchtoken(':')) constexpr(&size, NULL); /* get size */ @@ -2470,7 +2474,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) @@ -2626,7 +2631,8 @@ doarg(char *name, int ident, int offset, int tags[], int numtags, cell size; int idxtag[sDIMEN_MAX]; - strcpy(arg->name, name); + strncpy(arg->name, name, sizeof(arg->name) - 1); + arg->name[sizeof(arg->name) - 1] = 0; arg->hasdefault = FALSE; /* preset (most common case) */ arg->defvalue.val = 0; /* clear */ arg->defvalue_tag = 0; @@ -3019,7 +3025,8 @@ insert_constval(constvalue * prev, constvalue * next, char *name, if (!(cur = (constvalue *)malloc(sizeof(constvalue)))) error(103); /* insufficient memory (fatal error) */ memset(cur, 0, sizeof(constvalue)); - strcpy(cur->name, name); + strncpy(cur->name, name, sizeof(cur->name) - 1); + cur->name[sizeof(cur->name) - 1] = 0; cur->value = val; cur->index = idx; cur->next = next; @@ -3790,12 +3797,14 @@ doswitch(void) if (swdefault == FALSE) { /* store lbl_exit as the "none-matched" label in the switch table */ - strcpy(labelname, itoh(lbl_exit)); + strncpy(labelname, itoh(lbl_exit), sizeof(labelname) - 1); + labelname[sizeof(labelname) - 1] = 0; } else { /* lbl_case holds the label of the "default" clause */ - strcpy(labelname, itoh(lbl_case)); + strncpy(labelname, itoh(lbl_case), sizeof(labelname) - 1); + labelname[sizeof(labelname) - 1] = 0; } /* if */ ffcase(casecount, labelname, TRUE); /* generate the rest of the table */