Mercurial > cpython-lru_cache-weakref
diff Objects/stringobject.c @ 21073:304b34023876 legacy-trunk
sprintf -> PyOS_snprintf in some "obviously safe" cases.
Also changed <>-style #includes to ""-style in some places where the
former didn't make sense.
| author | Tim Peters <tim.peters@gmail.com> |
|---|---|
| date | Wed, 28 Nov 2001 20:27:42 +0000 |
| parents | 7945639df265 |
| children | a2d03ceba80e |
line wrap: on
line diff
--- a/Objects/stringobject.c Wed Nov 28 20:24:33 2001 +0000 +++ b/Objects/stringobject.c Wed Nov 28 20:27:42 2001 +0000 @@ -2876,7 +2876,9 @@ prec = 6; if (type == 'f' && fabs(x)/1e25 >= 1e25) type = 'g'; - sprintf(fmt, "%%%s.%d%c", (flags&F_ALT) ? "#" : "", prec, type); + PyOS_snprintf(fmt, sizeof(fmt), "%%%s.%d%c", + (flags&F_ALT) ? "#" : "", + prec, type); /* worst case length calc to ensure no buffer overrun: fmt = %#.<prec>g buf = '-' + [0-9]*prec + '.' + 'e+' + (longest exp @@ -2889,7 +2891,7 @@ "formatted float is too long (precision too large?)"); return -1; } - sprintf(buf, fmt, x); + PyOS_snprintf(buf, buflen, fmt, x); return strlen(buf); } @@ -3047,7 +3049,9 @@ return -1; if (prec < 0) prec = 1; - sprintf(fmt, "%%%s.%dl%c", (flags&F_ALT) ? "#" : "", prec, type); + PyOS_snprintf(fmt, sizeof(fmt), "%%%s.%dl%c", + (flags&F_ALT) ? "#" : "", + prec, type); /* buf = '+'/'-'/'0'/'0x' + '[0-9]'*max(prec, len(x in octal)) worst case buf = '0x' + [0-9]*prec, where prec >= 11 */ if (buflen <= 13 || buflen <= (size_t)2 + (size_t)prec) { @@ -3055,7 +3059,7 @@ "formatted integer is too long (precision too large?)"); return -1; } - sprintf(buf, fmt, x); + PyOS_snprintf(buf, buflen, fmt, x); /* When converting 0 under %#x or %#X, C leaves off the base marker, * but we want it (for consistency with other %#x conversions, and * for consistency with Python's hex() function).
