Skip to content

Commit 9f7f3b2

Browse files
committed
Fix incorrect dtor for persistent sdl->encoders
Closes GH-12515.
1 parent fbf4e19 commit 9f7f3b2

File tree

2 files changed

+2
-1
lines changed

2 files changed

+2
-1
lines changed

NEWS

+1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ PHP NEWS
3535
. Fix incorrect uri check in SOAP caching. (nielsdos)
3636
. Fix segfault and assertion failure with refcounted props and arrays.
3737
(nielsdos)
38+
. Fix potential crash with an edge case of persistent encoders. (nielsdos)
3839

3940
- Streams:
4041
. Fixed bug #75708 (getimagesize with "&$imageinfo" fails on StreamWrappers).

ext/soap/php_sdl.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ encodePtr get_encoder(sdlPtr sdl, const char *ns, const char *type)
155155
}
156156
if (sdl->encoders == NULL) {
157157
sdl->encoders = pemalloc(sizeof(HashTable), sdl->is_persistent);
158-
zend_hash_init(sdl->encoders, 0, NULL, delete_encoder, sdl->is_persistent);
158+
zend_hash_init(sdl->encoders, 0, NULL, sdl->is_persistent ? delete_encoder_persistent : delete_encoder, sdl->is_persistent);
159159
}
160160
zend_hash_str_update_ptr(sdl->encoders, nscat, len, new_enc);
161161
enc = new_enc;

0 commit comments

Comments
 (0)