@@ -2340,10 +2340,9 @@ static void get_attr_val(SV *sth,AV *list,imp_fbh_t *fbh, text *name , OCITypeC
2340
2340
& ub4_str_len ,
2341
2341
str_buf ,
2342
2342
status );
2343
-
2344
2343
if (typecode == OCI_TYPECODE_TIMESTAMP_TZ || typecode == OCI_TYPECODE_TIMESTAMP_LTZ ){
2345
- char s_tz_hour [6 ]= "000" ;
2346
- char s_tz_min [6 ]= "000" ;
2344
+ char s_tz_hour [8 ]= "000" ;
2345
+ char s_tz_min [8 ]= "000" ;
2347
2346
sb1 tz_hour ;
2348
2347
sb1 tz_minute ;
2349
2348
status = OCIDateTimeGetTimeZoneOffset (fbh -> imp_sth -> envhp ,
@@ -2353,12 +2352,12 @@ static void get_attr_val(SV *sth,AV *list,imp_fbh_t *fbh, text *name , OCITypeC
2353
2352
& tz_minute );
2354
2353
2355
2354
if ( (tz_hour < 0 ) && (tz_hour > -10 ) ){
2356
- sprintf (s_tz_hour ," %03d" ,tz_hour );
2355
+ snprintf (s_tz_hour , sizeof ( s_tz_hour ) ," %03d" ,tz_hour );
2357
2356
} else {
2358
- sprintf (s_tz_hour ," %02d" ,tz_hour );
2357
+ snprintf (s_tz_hour , sizeof ( s_tz_hour ) ," %02d" ,tz_hour );
2359
2358
}
2360
2359
2361
- sprintf (s_tz_min ,":%02d" , tz_minute );
2360
+ snprintf (s_tz_min , sizeof ( s_tz_min ) ,":%02d" , tz_minute );
2362
2361
strcat ((signed char * )str_buf , s_tz_hour );
2363
2362
strcat ((signed char * )str_buf , s_tz_min );
2364
2363
str_buf [ub4_str_len + 7 ] = '\0' ;
0 commit comments