Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Use PyOS_snprintf
  • Loading branch information
sobolevn committed Feb 9, 2023
commit 8fb350d756d6b204c898155da60fe8a27ad2f6f8
10 changes: 5 additions & 5 deletions Modules/_datetimemodule.c
Original file line number Diff line number Diff line change
Expand Up @@ -1559,13 +1559,13 @@ make_freplacement(PyObject *object)
{
char freplacement[64];
if (PyTime_Check(object))
snprintf(freplacement, sizeof(freplacement),
"%06d", TIME_GET_MICROSECOND(object));
PyOS_snprintf(freplacement, sizeof(freplacement),
"%06d", TIME_GET_MICROSECOND(object));
else if (PyDateTime_Check(object))
snprintf(freplacement, sizeof(freplacement),
"%06d", DATE_GET_MICROSECOND(object));
PyOS_snprintf(freplacement, sizeof(freplacement),
"%06d", DATE_GET_MICROSECOND(object));
else
snprintf(freplacement, sizeof(freplacement), "%06d", 0);
PyOS_snprintf(freplacement, sizeof(freplacement), "%06d", 0);

return PyBytes_FromStringAndSize(freplacement, strlen(freplacement));
}
Expand Down
2 changes: 1 addition & 1 deletion Modules/_pickle.c
Original file line number Diff line number Diff line change
Expand Up @@ -2098,7 +2098,7 @@ save_long(PicklerObject *self, PyObject *obj)
}
}
else {
snprintf(pdata, sizeof(pdata), "%c%ld\n", INT, val);
PyOS_snprintf(pdata, sizeof(pdata), "%c%ld\n", INT, val);
len = strlen(pdata);
}
if (_Pickler_Write(self, pdata, len) < 0)
Expand Down
2 changes: 1 addition & 1 deletion Modules/_ssl.c
Original file line number Diff line number Diff line change
Expand Up @@ -1324,7 +1324,7 @@ _get_peer_alt_names (_sslmodulestate *state, X509 *certificate) {
} else if (name->d.ip->length == 16) {
/* PyUnicode_FromFormat() does not support %X */
unsigned char *p = name->d.ip->data;
len = snprintf(
len = PyOS_snprintf(
buf,
sizeof(buf),
"%X:%X:%X:%X:%X:%X:%X:%X",
Expand Down
2 changes: 1 addition & 1 deletion Modules/_testcapimodule.c
Original file line number Diff line number Diff line change
Expand Up @@ -1097,7 +1097,7 @@ test_capsule(PyObject *self, PyObject *Py_UNUSED(ignored))
#undef FAIL
#define FAIL(x) \
{ \
snprintf(buffer, sizeof(buffer), \
PyOS_snprintf(buffer, sizeof(buffer), \
"%s module: \"%s\" attribute: \"%s\"", \
x, known->module, known->attribute); \
error = buffer; \
Expand Down
2 changes: 1 addition & 1 deletion Modules/getnameinfo.c
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ getnameinfo(sa, salen, host, hostlen, serv, servlen, flags)
if (serv == NULL || servlen == 0) {
/* what we should do? */
} else if (flags & NI_NUMERICSERV) {
snprintf(numserv, sizeof(numserv), "%d", ntohs(port));
PyOS_snprintf(numserv, sizeof(numserv), "%d", ntohs(port));
if (strlen(numserv) > servlen)
return ENI_MEMORY;
strcpy(serv, numserv);
Expand Down
4 changes: 2 additions & 2 deletions Modules/socketmodule.c
Original file line number Diff line number Diff line change
Expand Up @@ -1302,11 +1302,11 @@ makebdaddr(bdaddr_t *bdaddr)
octets[i] = ((*bdaddr) >> (8 * i)) & 0xFF;
}

snprintf(buf, sizeof(buf), "%02X:%02X:%02X:%02X:%02X:%02X",
PyOS_snprintf(buf, sizeof(buf), "%02X:%02X:%02X:%02X:%02X:%02X",
octets[5], octets[4], octets[3],
octets[2], octets[1], octets[0]);
#else
snprintf(buf, sizeof(buf), "%02X:%02X:%02X:%02X:%02X:%02X",
PyOS_snprintf(buf, sizeof(buf), "%02X:%02X:%02X:%02X:%02X:%02X",
bdaddr->b[5], bdaddr->b[4], bdaddr->b[3],
bdaddr->b[2], bdaddr->b[1], bdaddr->b[0]);
#endif
Expand Down
26 changes: 14 additions & 12 deletions Objects/bytesobject.c
Original file line number Diff line number Diff line change
Expand Up @@ -270,43 +270,45 @@ PyBytes_FromFormatV(const char *format, va_list vargs)

case 'd':
if (longflag) {
snprintf(buffer, sizeof(buffer), "%ld", va_arg(vargs, long));
PyOS_snprintf(buffer, sizeof(buffer),
"%ld", va_arg(vargs, long));
}
else if (size_tflag) {
snprintf(buffer, sizeof(buffer),
"%zd", va_arg(vargs, Py_ssize_t));
PyOS_snprintf(buffer, sizeof(buffer),
"%zd", va_arg(vargs, Py_ssize_t));
}
else {
snprintf(buffer, sizeof(buffer), "%d", va_arg(vargs, int));
PyOS_snprintf(buffer, sizeof(buffer), "%d", va_arg(vargs, int));
}
assert(strlen(buffer) < sizeof(buffer));
WRITE_BYTES(buffer);
break;

case 'u':
if (longflag) {
snprintf(buffer, sizeof(buffer),
"%lu", va_arg(vargs, unsigned long));
PyOS_snprintf(buffer, sizeof(buffer),
"%lu", va_arg(vargs, unsigned long));
}
else if (size_tflag) {
snprintf(buffer, sizeof(buffer), "%zu", va_arg(vargs, size_t));
PyOS_snprintf(buffer, sizeof(buffer),
"%zu", va_arg(vargs, size_t));
}
else {
snprintf(buffer, sizeof(buffer),
"%u", va_arg(vargs, unsigned int));
PyOS_snprintf(buffer, sizeof(buffer),
"%u", va_arg(vargs, unsigned int));
}
assert(strlen(buffer) < sizeof(buffer));
WRITE_BYTES(buffer);
break;

case 'i':
snprintf(buffer, sizeof(buffer), "%i", va_arg(vargs, int));
PyOS_snprintf(buffer, sizeof(buffer), "%i", va_arg(vargs, int));
assert(strlen(buffer) < sizeof(buffer));
WRITE_BYTES(buffer);
break;

case 'x':
snprintf(buffer, sizeof(buffer), "%x", va_arg(vargs, int));
PyOS_snprintf(buffer, sizeof(buffer), "%x", va_arg(vargs, int));
assert(strlen(buffer) < sizeof(buffer));
WRITE_BYTES(buffer);
break;
Expand All @@ -332,7 +334,7 @@ PyBytes_FromFormatV(const char *format, va_list vargs)
}

case 'p':
snprintf(buffer, sizeof(buffer), "%p", va_arg(vargs, void*));
PyOS_snprintf(buffer, sizeof(buffer), "%p", va_arg(vargs, void*));
assert(strlen(buffer) < sizeof(buffer));
/* %p is ill-defined: ensure leading 0x. */
if (buffer[1] == 'X')
Expand Down
6 changes: 3 additions & 3 deletions Objects/typeobject.c
Original file line number Diff line number Diff line change
Expand Up @@ -4730,9 +4730,9 @@ type_traverse(PyTypeObject *type, visitproc visit, void *arg)
for heaptypes. */
if (!(type->tp_flags & Py_TPFLAGS_HEAPTYPE)) {
char msg[200];
snprintf(msg, sizeof(msg),
"type_traverse() called on non-heap type '%.100s'",
type->tp_name);
PyOS_snprintf(msg, sizeof(msg),
"type_traverse() called on non-heap type '%.100s'",
type->tp_name);
_PyObject_ASSERT_FAILED_MSG((PyObject *)type, msg);
}

Expand Down
2 changes: 1 addition & 1 deletion Python/specialize.c
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ _Py_PrintSpecializationStats(int to_file)
hex_name[40] = '\0';
char buf[64];
assert(strlen(dirname) + 40 + strlen(".txt") < 64);
snprintf(buf, sizeof(buf), "%s%s.txt", dirname, hex_name);
PyOS_snprintf(buf, sizeof(buf), "%s%s.txt", dirname, hex_name);
FILE *fout = fopen(buf, "w");
if (fout) {
out = fout;
Expand Down