Skip to content

Commit d0b9bf8

Browse files
authored
Prevent possible use-after-free when debugging via --vips-leak flag (#4411)
1 parent abcb97c commit d0b9bf8

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

ChangeLog

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
- heifsave: reject multiband images [lovell]
2626
- heifload: prevent possible int overflow for large images [kleisauke]
2727
- tiffload: add missing read loop [kleisauke]
28+
- prevent possible use-after-free when debugging via `--vips-leak` flag [lovell]
2829

2930
10/10/24 8.16.0
3031

libvips/iofuncs/type.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,14 +198,14 @@ vips_area_unref(VipsArea *area)
198198

199199
VIPS_FREEF(vips_g_mutex_free, area->lock);
200200

201-
g_free(area);
202-
203201
if (vips__leak) {
204202
g_mutex_lock(vips__global_lock);
205203
vips_area_all = g_slist_remove(vips_area_all, area);
206204
g_mutex_unlock(vips__global_lock);
207205
}
208206

207+
g_free(area);
208+
209209
#ifdef DEBUG
210210
g_mutex_lock(vips__global_lock);
211211
printf("vips_area_unref: free .. total = %d\n",

0 commit comments

Comments
 (0)