@@ -599,13 +599,13 @@ static void firebird_handle_closer(pdo_dbh_t *dbh) /* {{{ */
599
599
}
600
600
601
601
if (H -> date_format ) {
602
- efree (H -> date_format );
602
+ pefree (H -> date_format , dbh -> is_persistent );
603
603
}
604
604
if (H -> time_format ) {
605
- efree (H -> time_format );
605
+ pefree (H -> time_format , dbh -> is_persistent );
606
606
}
607
607
if (H -> timestamp_format ) {
608
- efree (H -> timestamp_format );
608
+ pefree (H -> timestamp_format , dbh -> is_persistent );
609
609
}
610
610
611
611
if (H -> einfo .errmsg ) {
@@ -1091,9 +1091,10 @@ static bool pdo_firebird_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *val
1091
1091
return false;
1092
1092
}
1093
1093
if (H -> date_format ) {
1094
- efree (H -> date_format );
1094
+ pefree (H -> date_format , dbh -> is_persistent );
1095
+ H -> date_format = NULL ;
1095
1096
}
1096
- spprintf ( & H -> date_format , 0 , "%s" , ZSTR_VAL (str ));
1097
+ H -> date_format = pestrndup ( ZSTR_VAL ( str ), ZSTR_LEN (str ), dbh -> is_persistent );
1097
1098
zend_string_release_ex (str , 0 );
1098
1099
}
1099
1100
return true;
@@ -1105,9 +1106,10 @@ static bool pdo_firebird_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *val
1105
1106
return false;
1106
1107
}
1107
1108
if (H -> time_format ) {
1108
- efree (H -> time_format );
1109
+ pefree (H -> time_format , dbh -> is_persistent );
1110
+ H -> time_format = NULL ;
1109
1111
}
1110
- spprintf ( & H -> time_format , 0 , "%s" , ZSTR_VAL (str ));
1112
+ H -> time_format = pestrndup ( ZSTR_VAL ( str ), ZSTR_LEN (str ), dbh -> is_persistent );
1111
1113
zend_string_release_ex (str , 0 );
1112
1114
}
1113
1115
return true;
@@ -1119,9 +1121,10 @@ static bool pdo_firebird_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *val
1119
1121
return false;
1120
1122
}
1121
1123
if (H -> timestamp_format ) {
1122
- efree (H -> timestamp_format );
1124
+ pefree (H -> timestamp_format , dbh -> is_persistent );
1125
+ H -> timestamp_format = NULL ;
1123
1126
}
1124
- spprintf ( & H -> timestamp_format , 0 , "%s" , ZSTR_VAL (str ));
1127
+ H -> timestamp_format = pestrndup ( ZSTR_VAL ( str ), ZSTR_LEN (str ), dbh -> is_persistent );
1125
1128
zend_string_release_ex (str , 0 );
1126
1129
}
1127
1130
return true;
0 commit comments