diff options
author | Alan Coopersmith <alan.coopersmith@oracle.com> | 2013-10-20 11:52:43 -0700 |
---|---|---|
committer | Alan Coopersmith <alan.coopersmith@oracle.com> | 2013-11-01 22:17:31 -0700 |
commit | 2458580ac95c550217b3376c46eecb2cca646241 (patch) | |
tree | 20285050ebc21a8068e732b3ba2be31adc5579d8 | |
parent | 3ed68e06cb45fb526b09e4c7b7c3d60de552b2b3 (diff) |
Convert remaining sprintf calls to snprintf
Most were fixed length or length checked anyway, this just saves time
doublechecking that. (A few could be replaced by asprintf, but we
don't have a copy guaranteed to be reachable from this program yet.)
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
-rw-r--r-- | expr.c | 2 | ||||
-rw-r--r-- | geometry.c | 10 | ||||
-rw-r--r-- | listing.c | 9 | ||||
-rw-r--r-- | xkbcomp.c | 4 |
4 files changed, 13 insertions, 12 deletions
@@ -767,7 +767,7 @@ ExprResolveString(ExprDef * expr, new = (char *) uAlloc(len); if (new) { - sprintf(new, "%s%s", leftRtrn.str, rightRtrn.str); + snprintf(new, len, "%s%s", leftRtrn.str, rightRtrn.str); val_rtrn->str = new; return True; } @@ -258,9 +258,9 @@ ddText(Display * dpy, DoodadInfo * di) } if (di->section) { - sprintf(buf, "%s in section %s", - XkbAtomText(dpy, di->name, XkbMessage), scText(dpy, - di->section)); + snprintf(buf, sizeof(buf), "%s in section %s", + XkbAtomText(dpy, di->name, XkbMessage), + scText(dpy, di->section)); return buf; } return XkbAtomText(dpy, di->name, XkbMessage); @@ -3297,8 +3297,8 @@ FontFromParts(Atom fontTok, rtrn = uCalloc(totalSize, 1); if (rtrn) { - sprintf(rtrn, FONT_TEMPLATE, font, weight, slant, setWidth, variant, - size, encoding); + snprintf(rtrn, totalSize, FONT_TEMPLATE, font, weight, slant, + setWidth, variant, size, encoding); } return rtrn; } @@ -302,18 +302,19 @@ AddDirectory(char *head, char *ptrn, char *rest, char *map) { char *tmp, *filename; struct stat sbuf; + size_t tmpsize; filename = FileName(file); if (!filename || filename[0] == '.') continue; if (ptrn && (!XkbNameMatchesPattern(filename, ptrn))) continue; - tmp = - (char *) uAlloc((head ? strlen(head) : 0) + strlen(filename) + 2); + tmpsize = (head ? strlen(head) : 0) + strlen(filename) + 2; + tmp = uAlloc(tmpsize); if (!tmp) continue; - sprintf(tmp, "%s%s%s", (head ? head : ""), (head ? "/" : ""), - filename); + snprintf(tmp, tmpsize, "%s%s%s", + (head ? head : ""), (head ? "/" : ""), filename); if (stat(tmp, &sbuf) < 0) { uFree(tmp); @@ -745,7 +745,7 @@ parseArgs(int argc, char *argv[]) ACTION("Exiting\n"); exit(1); } - sprintf(outputFile, "stdin.%s", fileTypeExt[outputFormat]); + snprintf(outputFile, len, "stdin.%s", fileTypeExt[outputFormat]); } else if ((outputFile == NULL) && (inputFile != NULL)) { @@ -773,7 +773,7 @@ parseArgs(int argc, char *argv[]) } ext = strrchr(base, '.'); if (ext == NULL) - sprintf(outputFile, "%s.%s", base, fileTypeExt[outputFormat]); + snprintf(outputFile, len, "%s.%s", base, fileTypeExt[outputFormat]); else { strcpy(outputFile, base); |