@@ -424,13 +424,13 @@ static void append_warning(parser_t *self, const char *msg) {
424
424
425
425
if (self -> warn_msg == NULL ) {
426
426
self -> warn_msg = (char * )malloc (length + 1 );
427
- strncpy (self -> warn_msg , msg , strlen ( msg ) + 1 );
427
+ snprintf (self -> warn_msg , length + 1 , "%s" , msg );
428
428
} else {
429
429
ex_length = strlen (self -> warn_msg );
430
430
newptr = safe_realloc (self -> warn_msg , ex_length + length + 1 );
431
431
if (newptr != NULL ) {
432
432
self -> warn_msg = (char * )newptr ;
433
- strncpy (self -> warn_msg + ex_length , msg , strlen ( msg ) + 1 );
433
+ snprintf (self -> warn_msg + ex_length , length + 1 , "%s" , msg );
434
434
}
435
435
}
436
436
}
@@ -1433,13 +1433,14 @@ PANDAS_INLINE void uppercase(char *p) {
1433
1433
int to_boolean (const char * item , uint8_t * val ) {
1434
1434
char * tmp ;
1435
1435
int i , status = 0 ;
1436
- int bufsize = sizeof (char ) * (strlen (item ) + 1 );
1436
+ size_t length0 = (strlen (item ) + 1 );
1437
+ int bufsize = length0 ;
1437
1438
1438
1439
static const char * tstrs [1 ] = {"TRUE" };
1439
1440
static const char * fstrs [1 ] = {"FALSE" };
1440
1441
1441
1442
tmp = malloc (bufsize );
1442
- strncpy (tmp , item , bufsize );
1443
+ snprintf (tmp , length0 , "%s" , item );
1443
1444
uppercase (tmp );
1444
1445
1445
1446
for (i = 0 ; i < 1 ; ++ i ) {
@@ -1815,7 +1816,7 @@ double round_trip(const char *p, char **q, char decimal, char sci, char tsep,
1815
1816
double r = PyOS_string_to_double (p , q , 0 );
1816
1817
if (maybe_int != NULL ) * maybe_int = 0 ;
1817
1818
if (PyErr_Occurred () != NULL ) * error = -1 ;
1818
- else if (r == Py_HUGE_VAL ) * error = Py_HUGE_VAL ;
1819
+ else if (r == Py_HUGE_VAL ) * error = ( int ) Py_HUGE_VAL ;
1819
1820
PyErr_Clear ();
1820
1821
return r ;
1821
1822
}
0 commit comments