unicodedata_decomposition(): sprintf -> PyOS_snprintf.

This commit is contained in:
Tim Peters 2001-11-30 07:23:05 +00:00
parent 38f3b72f9f
commit 69b83b113f

View file

@ -227,7 +227,7 @@ unicodedata_decomposition(PyObject *self, PyObject *args)
(code&((1<<DECOMP_SHIFT)-1))]; (code&((1<<DECOMP_SHIFT)-1))];
} }
/* high byte is of hex bytes (usually one or two), low byte /* high byte is number of hex bytes (usually one or two), low byte
is prefix code (from*/ is prefix code (from*/
count = decomp_data[index] >> 8; count = decomp_data[index] >> 8;
@ -241,7 +241,9 @@ unicodedata_decomposition(PyObject *self, PyObject *args)
while (count-- > 0) { while (count-- > 0) {
if (i) if (i)
decomp[i++] = ' '; decomp[i++] = ' ';
sprintf(decomp + i, "%04X", decomp_data[++index]); assert((size_t)i < sizeof(decomp));
PyOS_snprintf(decomp + i, sizeof(decomp) - i, "%04X",
decomp_data[++index]);
i += strlen(decomp + i); i += strlen(decomp + i);
} }