static char pbuf[10];
if (isprint(ch) || ch == ' ')
- sprintf(pbuf, "%c", ch);
+ snprintf(pbuf, sizeof(pbuf), "%c", ch);
else
- sprintf(pbuf, "\\%o", ch);
+ snprintf(pbuf, sizeof(pbuf), "\\%o", ch);
return(pbuf);
}
#endif
#endif
/* === regerror.c === */
-static char *regatoi(const regex_t *preg, char *localbuf);
+static char *regatoi(const regex_t *preg, char *localbuf, size_t buflen);
#ifdef __cplusplus
}
char convbuf[50];
if (errcode == REG_ATOI)
- s = regatoi(preg, convbuf);
+ s = regatoi(preg, convbuf, sizeof(convbuf));
else {
for (r = rerrs; r->code != 0; r++)
if (r->code == target)
if (r->code != 0)
(void) strcpy(convbuf, r->name);
else
- sprintf(convbuf, "REG_0x%x", target);
+ snprintf(convbuf, sizeof(convbuf), "REG_0x%x", target);
assert(strlen(convbuf) < sizeof(convbuf));
s = convbuf;
} else
/*
- regatoi - internal routine to implement REG_ATOI
- == static char *regatoi(const regex_t *preg, char *localbuf);
+ == static char *regatoi(const regex_t *preg, char *localbuf, size_t buflen);
*/
static char *
-regatoi(preg, localbuf)
+regatoi(preg, localbuf, buflen)
const regex_t *preg;
char *localbuf;
+size_t buflen;
{
register struct rerr *r;
if (r->code == 0)
return("0");
- sprintf(localbuf, "%d", r->code);
+ snprintf(localbuf, buflen, "%d", r->code);
return(localbuf);
}