[PATCH] fixed potential double free
Marcus Meissner
marcus at jet.franken.de
Thu Jan 24 02:21:35 CST 2008
Coverity spotted that set_window_pos() could call
free_region() on the same pointer twice.
(CID 671 and 672)
Check that they are different before freeing them twice.
Ciao, Marcus
---
server/window.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/server/window.c b/server/window.c
index 3c067b6..39dadd0 100644
--- a/server/window.c
+++ b/server/window.c
@@ -1540,7 +1540,7 @@ static void set_window_pos( struct window *win, struct window *previous,
done:
if (old_vis_rgn) free_region( old_vis_rgn );
- if (exposed_rgn) free_region( exposed_rgn );
+ if (exposed_rgn && (exposed_rgn!=old_vis_rgn)) free_region( exposed_rgn );
clear_error(); /* we ignore out of memory errors once the new rects have been set */
}
--
1.5.2.4
More information about the wine-patches
mailing list