diff --git a/legacy/embryo/src/bin/embryo_cc_sc1.c b/legacy/embryo/src/bin/embryo_cc_sc1.c index 91de19dca6..cf71179367 100644 --- a/legacy/embryo/src/bin/embryo_cc_sc1.c +++ b/legacy/embryo/src/bin/embryo_cc_sc1.c @@ -2151,7 +2151,7 @@ tag2str(char *dest, int tag) { tag &= TAGMASK; assert(tag >= 0); - sprintf(dest, "0%x", tag); + snprintf(dest, sizeof(dest)-1, "0%x", tag); return isdigit(dest[1]) ? &dest[1] : dest; } @@ -2165,12 +2165,12 @@ operator_symname(char *symname, char *opername, int tag1, int tag2, assert(numtags >= 1 && numtags <= 2); opertok = (opername[1] == '\0') ? opername[0] : 0; if (opertok == '=') - sprintf(symname, "%s%s%s", tag2str(tagstr1, resulttag), opername, + snprintf(symname, sizeof(symname)-1, "%s%s%s", tag2str(tagstr1, resulttag), opername, tag2str(tagstr2, tag1)); else if (numtags == 1 || opertok == '~') - sprintf(symname, "%s%s", opername, tag2str(tagstr1, tag1)); + snprintf(symname, sizeof(symname)-1, "%s%s", opername, tag2str(tagstr1, tag1)); else - sprintf(symname, "%s%s%s", tag2str(tagstr1, tag1), opername, + snprintf(symname, sizeof(symname)-1, "%s%s%s", tag2str(tagstr1, tag1), opername, tag2str(tagstr2, tag2)); return symname; } @@ -2226,7 +2226,7 @@ funcdisplayname(char *dest, char *funcname) assert(tagsym[1] != NULL); if (unary) { - sprintf(dest, "operator%s(%s:)", opname, tagsym[1]->name); + snprintf(dest, sizeof(dest)-1, "operator%s(%s:)", opname, tagsym[1]->name); } else { @@ -2234,11 +2234,11 @@ funcdisplayname(char *dest, char *funcname) /* special case: the assignment operator has the return value * as the 2nd tag */ if (opname[0] == '=' && opname[1] == '\0') - sprintf(dest, "%s:operator%s(%s:)", tagsym[0]->name, opname, - tagsym[1]->name); + snprintf(dest, sizeof(dest)-1, "%s:operator%s(%s:)", tagsym[0]->name, + opname, tagsym[1]->name); else - sprintf(dest, "operator%s(%s:,%s:)", opname, tagsym[0]->name, - tagsym[1]->name); + snprintf(dest, sizeof(dest)-1, "operator%s(%s:,%s:)", opname, + tagsym[0]->name, tagsym[1]->name); } /* if */ return dest; } diff --git a/legacy/embryo/src/bin/embryo_cc_sc2.c b/legacy/embryo/src/bin/embryo_cc_sc2.c index 85d2b8d66e..dea0b04fd3 100644 --- a/legacy/embryo/src/bin/embryo_cc_sc2.c +++ b/legacy/embryo/src/bin/embryo_cc_sc2.c @@ -1196,7 +1196,7 @@ command(void) extern char *sc_tokens[]; /* forward declaration */ if (tok < 256) - sprintf(s2, "%c", (char)tok); + snprintf(s2, sizeof(s2)-1, "%c", (char)tok); else strcpy(s2, sc_tokens[tok - tFIRST]); error(1, sc_tokens[tSYMBOL - tFIRST], s2); @@ -2139,13 +2139,13 @@ needtoken(int token) /* token already pushed back */ assert(_pushed); if (token < 256) - sprintf(s1, "%c", (char)token); /* single character token */ + snprintf(s1, sizeof(s1)-1, "%c", (char)token); /* single character token */ else strcpy(s1, sc_tokens[token - tFIRST]); /* multi-character symbol */ if (!freading) strcpy(s2, "-end of file-"); else if (_lextok < 256) - sprintf(s2, "%c", (char)_lextok); + snprintf(s2, sizeof(s1)-1, "%c", (char)_lextok); else strcpy(s2, sc_tokens[_lextok - tFIRST]); error(1, s1, s2); /* expected ..., but found ... */