Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit e13e931

Browse files
authored
MAINT: numpy.i: Replace deprecated sprintf with snprintf (#31056)
1 parent 82a86f1 commit e13e931

1 file changed

Lines changed: 10 additions & 9 deletions

File tree

tools/swig/numpy.i

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
#define NO_IMPORT_ARRAY
4141
#endif
4242
#include "stdio.h"
43+
#include <string.h>
4344
#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
4445
#include <numpy/arrayobject.h>
4546
%}
@@ -457,11 +458,11 @@ void free_cap(PyObject * cap)
457458
{
458459
for (i = 0; i < n-1; i++)
459460
{
460-
sprintf(s, "%d, ", exact_dimensions[i]);
461-
strcat(dims_str,s);
461+
snprintf(s, sizeof(s), "%d, ", exact_dimensions[i]);
462+
strncat(dims_str, s, sizeof(dims_str) - strlen(dims_str) - 1);
462463
}
463-
sprintf(s, " or %d", exact_dimensions[n-1]);
464-
strcat(dims_str,s);
464+
snprintf(s, sizeof(s), " or %d", exact_dimensions[n-1]);
465+
strncat(dims_str, s, sizeof(dims_str) - strlen(dims_str) - 1);
465466
PyErr_Format(PyExc_TypeError,
466467
"Array must have %s dimensions. Given array has %d dimensions",
467468
dims_str,
@@ -497,20 +498,20 @@ void free_cap(PyObject * cap)
497498
{
498499
if (size[i] == -1)
499500
{
500-
sprintf(s, "*,");
501+
snprintf(s, sizeof(s), "*,");
501502
}
502503
else
503504
{
504-
sprintf(s, "%ld,", (long int)size[i]);
505+
snprintf(s, sizeof(s), "%ld,", (long int)size[i]);
505506
}
506-
strcat(desired_dims,s);
507+
strncat(desired_dims, s, sizeof(desired_dims) - strlen(desired_dims) - 1);
507508
}
508509
len = strlen(desired_dims);
509510
desired_dims[len-1] = ']';
510511
for (i = 0; i < n; i++)
511512
{
512-
sprintf(s, "%ld,", (long int)array_size(ary,i));
513-
strcat(actual_dims,s);
513+
snprintf(s, sizeof(s), "%ld,", (long int)array_size(ary,i));
514+
strncat(actual_dims, s, sizeof(actual_dims) - strlen(actual_dims) - 1);
514515
}
515516
len = strlen(actual_dims);
516517
actual_dims[len-1] = ']';

0 commit comments

Comments
 (0)