summaryrefslogtreecommitdiffstats
path: root/src/io
diff options
context:
space:
mode:
authorKris De Gussem <kris.degussem@gmail.com>2011-07-20 18:31:22 +0000
committerKris <Kris.De.Gussem@hotmail.com>2011-07-20 18:31:22 +0000
commit527379af505ab25b77033407d0ab8f6dff6a59e4 (patch)
tree61526e5ca543b47760dbe11c3266281454006063 /src/io
parentFilters. Custom predefined filters update. (diff)
downloadinkscape-527379af505ab25b77033407d0ab8f6dff6a59e4.tar.gz
inkscape-527379af505ab25b77033407d0ab8f6dff6a59e4.zip
Memory leak fixes (Bug #812497)
(bzr r10483)
Diffstat (limited to 'src/io')
-rw-r--r--src/io/inkjar.cpp19
-rw-r--r--src/io/streamtest.cpp8
2 files changed, 16 insertions, 11 deletions
diff --git a/src/io/inkjar.cpp b/src/io/inkjar.cpp
index c238aba36..20b164b99 100644
--- a/src/io/inkjar.cpp
+++ b/src/io/inkjar.cpp
@@ -139,16 +139,18 @@ bool JarFile::read_signature()
#endif
if (signature == 0x08074b50) {
- //skip data descriptor
- bytes = (guint8 *)malloc(sizeof(guint8) * 12);
- if (!read(bytes, 12)) {
- g_free(bytes);
- return false;
- }
+ //skip data descriptor
+ bytes = (guint8 *)g_malloc(sizeof(guint8) * 12);
+ if (!read(bytes, 12)) {
+ g_free(bytes);
+ return false;
+ } else {
+ g_free(bytes);
+ }
} else if (signature == 0x02014b50 || signature == 0x04034b50) {
- return true;
+ return true;
} else {
- return false;
+ return false;
}
return false;
}
@@ -214,6 +216,7 @@ GByteArray *JarFile::get_next_file_contents()
if (_last_filename != NULL)
g_free(_last_filename);
_last_filename = NULL;
+ g_free(bytes);
return NULL;
}
diff --git a/src/io/streamtest.cpp b/src/io/streamtest.cpp
index b25ef43f0..2030e6a85 100644
--- a/src/io/streamtest.cpp
+++ b/src/io/streamtest.cpp
@@ -219,13 +219,15 @@ int main(int argc, char **argv)
// create temp files somewhere else instead of current dir
// TODO: clean them up too
char * testpath = strdup("/tmp/streamtest-XXXXXX");
- testpath = mkdtemp(testpath);
- if (!testpath)
+ char * testpath2;
+ testpath2 = mkdtemp(testpath);
+ free(testpath);
+ if (!testpath2)
{
perror("mkdtemp");
return 1;
}
- if (chdir(testpath))
+ if (chdir(testpath2))
{
perror("chdir");
return 1;