summaryrefslogtreecommitdiff
path: root/gdk-pixbuf/gdk-pixbuf-loader.c
diff options
context:
space:
mode:
authorMatthias Clasen <matthiasc@src.gnome.org>2002-03-25 23:22:01 +0000
committerMatthias Clasen <matthiasc@src.gnome.org>2002-03-25 23:22:01 +0000
commitde19229a33152e26d2cde7dea541e76f89e6af36 (patch)
treed0f34e39d246ecb1050dc6b96421862a7fdbc0b6 /gdk-pixbuf/gdk-pixbuf-loader.c
parent94168cf8452d787a171c69ad5a25b97f7ca0530f (diff)
downloadgdk-pixbuf-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.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gdk-pixbuf/gdk-pixbuf-loader.c b/gdk-pixbuf/gdk-pixbuf-loader.c
index 7f344326e..a199aa17f 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;