summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--src/analysis/binary.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index aa1dfa4..f956e91 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+16-04-18 Cyrille Bagard <nocbos@gmail.com>
+
+ * src/analysis/binary.c:
+ Avoid memory corruption by skipping a call to free().
+
16-04-17 Cyrille Bagard <nocbos@gmail.com>
* autogen.sh:
diff --git a/src/analysis/binary.c b/src/analysis/binary.c
index c422e29..8957399 100644
--- a/src/analysis/binary.c
+++ b/src/analysis/binary.c
@@ -631,7 +631,7 @@ static bool g_loaded_binary_load_storage(GLoadedBinary *binary, xmlXPathContextP
storage_path = stradd(storage_path, "/Storage");
value = get_node_prop_value(context, storage_path, "local");
- if (value == NULL) goto glbls_features;
+ if (value == NULL) goto glbls_no_storage_config;
binary->local_storage = (strcmp(value, "true") == 0);
@@ -711,6 +711,8 @@ static bool g_loaded_binary_load_storage(GLoadedBinary *binary, xmlXPathContextP
}
+ glbls_no_storage_config:
+
free(storage_path);
return result;