summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Fox <dyntryx@gmail.com>2009-01-24 19:02:19 +0000
committerSean Fox <dyntryx@gmail.com>2009-01-24 19:02:19 +0000
commit3e1239f678d87471dfd581cf95f31a60a509d90f (patch)
tree3b7a798e11275b5a694aabd9d3f179c2546fb401
parentdbf879a4defdf06743230cb8c88f38ee06b37837 (diff)
downloadlibnsbmp-3e1239f678d87471dfd581cf95f31a60a509d90f.tar.gz
libnsbmp-3e1239f678d87471dfd581cf95f31a60a509d90f.tar.bz2
Fix silly memory leaks.
svn path=/trunk/libnsbmp/; revision=6250
-rw-r--r--examples/decode_bmp.c10
-rw-r--r--examples/decode_ico.c10
2 files changed, 14 insertions, 6 deletions
diff --git a/examples/decode_bmp.c b/examples/decode_bmp.c
index 92efd34..43b0970 100644
--- a/examples/decode_bmp.c
+++ b/examples/decode_bmp.c
@@ -43,6 +43,7 @@ int main(int argc, char *argv[])
bmp_result code;
bmp_image bmp;
size_t size;
+ unsigned short res = 0;
if (argc != 2) {
fprintf(stderr, "Usage: %s image.bmp\n", argv[0]);
@@ -59,7 +60,8 @@ int main(int argc, char *argv[])
code = bmp_analyse(&bmp, size, data);
if (code != BMP_OK) {
warning("bmp_analyse", code);
- exit(1);
+ res = 1;
+ goto cleanup;
}
/* decode the image */
@@ -67,7 +69,8 @@ int main(int argc, char *argv[])
/* code = bmp_decode_trans(&bmp, TRANSPARENT_COLOR); */
if (code != BMP_OK) {
warning("bmp_decode", code);
- exit(1);
+ res = 1;
+ goto cleanup;
}
printf("P3\n");
@@ -91,11 +94,12 @@ int main(int argc, char *argv[])
}
}
+cleanup:
/* clean up */
bmp_finalise(&bmp);
free(data);
- return 0;
+ return res;
}
diff --git a/examples/decode_ico.c b/examples/decode_ico.c
index c917c99..571c566 100644
--- a/examples/decode_ico.c
+++ b/examples/decode_ico.c
@@ -49,6 +49,7 @@ int main(int argc, char *argv[])
bmp_result code;
struct bmp_image *bmp;
size_t size;
+ unsigned short res = 0;
if ((argc < 2) || (argc > 4)) {
fprintf(stderr, "Usage: %s collection.ico [width=255] [height=255]\n", argv[0]);
@@ -67,7 +68,8 @@ int main(int argc, char *argv[])
code = ico_analyse(&ico, size, data);
if (code != BMP_OK) {
warning("ico_analyse", code);
- exit(1);
+ res = 1;
+ goto cleanup;
}
/* decode the image */
@@ -78,7 +80,8 @@ int main(int argc, char *argv[])
/* code = bmp_decode_trans(bmp, TRANSPARENT_COLOR); */
if (code != BMP_OK) {
warning("bmp_decode", code);
- exit(1);
+ res = 1;
+ goto cleanup;
}
printf("P3\n");
@@ -102,11 +105,12 @@ int main(int argc, char *argv[])
}
}
+cleanup:
/* clean up */
ico_finalise(&ico);
free(data);
- return 0;
+ return res;
}