diff options
author | Matthias Clasen <matthiasc@src.gnome.org> | 2002-03-25 23:22:01 +0000 |
---|---|---|
committer | Matthias Clasen <matthiasc@src.gnome.org> | 2002-03-25 23:22:01 +0000 |
commit | de19229a33152e26d2cde7dea541e76f89e6af36 (patch) | |
tree | d0f34e39d246ecb1050dc6b96421862a7fdbc0b6 /gdk-pixbuf/gdk-pixbuf-loader.c | |
parent | 94168cf8452d787a171c69ad5a25b97f7ca0530f (diff) | |
download | gtk+-de19229a33152e26d2cde7dea541e76f89e6af36.tar.gz |
Don't leak pixbuf on error.
* io-tiff.c (tiff_image_parse): Don't leak pixbuf on error.
* io-gif.c (gdk_pixbuf__gif_image_load_increment): Don't leak
context->buf on error.
* gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Make sure to call
stop_load even for short images to prevent memleaks.
Diffstat (limited to 'gdk-pixbuf/gdk-pixbuf-loader.c')
-rw-r--r-- | gdk-pixbuf/gdk-pixbuf-loader.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gdk-pixbuf/gdk-pixbuf-loader.c b/gdk-pixbuf/gdk-pixbuf-loader.c index 7f344326ee..a199aa17f5 100644 --- a/gdk-pixbuf/gdk-pixbuf-loader.c +++ b/gdk-pixbuf/gdk-pixbuf-loader.c @@ -536,8 +536,10 @@ gdk_pixbuf_loader_close (GdkPixbufLoader *loader, retval = FALSE; } } - if (retval && priv->image_module && priv->image_module->stop_load && priv->context) - retval = priv->image_module->stop_load (priv->context, error); + if (priv->image_module && priv->image_module->stop_load && priv->context) { + if (!priv->image_module->stop_load (priv->context, error)) + retval = FALSE; + } priv->closed = TRUE; |