@@ -492,13 +492,13 @@ static void firebird_handle_closer(pdo_dbh_t *dbh) /* {{{ */
492
492
}
493
493
494
494
if (H -> date_format ) {
495
- efree (H -> date_format );
495
+ pefree (H -> date_format , dbh -> is_persistent );
496
496
}
497
497
if (H -> time_format ) {
498
- efree (H -> time_format );
498
+ pefree (H -> time_format , dbh -> is_persistent );
499
499
}
500
500
if (H -> timestamp_format ) {
501
- efree (H -> timestamp_format );
501
+ pefree (H -> timestamp_format , dbh -> is_persistent );
502
502
}
503
503
504
504
pefree (H , dbh -> is_persistent );
@@ -881,9 +881,10 @@ static bool firebird_handle_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *
881
881
return false;
882
882
}
883
883
if (H -> date_format ) {
884
- efree (H -> date_format );
884
+ pefree (H -> date_format , dbh -> is_persistent );
885
+ H -> date_format = NULL ;
885
886
}
886
- spprintf ( & H -> date_format , 0 , "%s" , ZSTR_VAL (str ));
887
+ H -> date_format = pestrndup ( ZSTR_VAL ( str ), ZSTR_LEN (str ), dbh -> is_persistent );
887
888
zend_string_release_ex (str , 0 );
888
889
}
889
890
return true;
@@ -895,9 +896,10 @@ static bool firebird_handle_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *
895
896
return false;
896
897
}
897
898
if (H -> time_format ) {
898
- efree (H -> time_format );
899
+ pefree (H -> time_format , dbh -> is_persistent );
900
+ H -> time_format = NULL ;
899
901
}
900
- spprintf ( & H -> time_format , 0 , "%s" , ZSTR_VAL (str ));
902
+ H -> time_format = pestrndup ( ZSTR_VAL ( str ), ZSTR_LEN (str ), dbh -> is_persistent );
901
903
zend_string_release_ex (str , 0 );
902
904
}
903
905
return true;
@@ -909,9 +911,10 @@ static bool firebird_handle_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *
909
911
return false;
910
912
}
911
913
if (H -> timestamp_format ) {
912
- efree (H -> timestamp_format );
914
+ pefree (H -> timestamp_format , dbh -> is_persistent );
915
+ H -> timestamp_format = NULL ;
913
916
}
914
- spprintf ( & H -> timestamp_format , 0 , "%s" , ZSTR_VAL (str ));
917
+ H -> timestamp_format = pestrndup ( ZSTR_VAL ( str ), ZSTR_LEN (str ), dbh -> is_persistent );
915
918
zend_string_release_ex (str , 0 );
916
919
}
917
920
return true;
0 commit comments