summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPeter Schiffer <pschiffe@redhat.com>2014-01-27 13:28:28 +0100
committerPeter Schiffer <pschiffe@redhat.com>2014-01-27 13:28:28 +0100
commitbe3981733ea523c67fb36e468652d869a9e8df88 (patch)
treeeeae12165904f1fca4f706913f192422941c3993 /src
parent5b4c11d2ec47ab28ff49b6c767ea8c88ce1d7cdc (diff)
downloadopenlmi-providers-be3981733ea523c67fb36e468652d869a9e8df88.tar.gz
openlmi-providers-be3981733ea523c67fb36e468652d869a9e8df88.tar.xz
openlmi-providers-be3981733ea523c67fb36e468652d869a9e8df88.zip
Hardware: fixed memory leak in dmidecode.c
Diffstat (limited to 'src')
-rw-r--r--src/hardware/dmidecode.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/hardware/dmidecode.c b/src/hardware/dmidecode.c
index a457db0..ca1070d 100644
--- a/src/hardware/dmidecode.c
+++ b/src/hardware/dmidecode.c
@@ -921,10 +921,10 @@ short dmi_get_memory(DmiMemory *memory)
/* Memory Module Bank Label and Slot ID */
buf = copy_string_part_after_delim(buffer[i], "Locator: ");
if (buf) {
- if (memory->modules[curr_mem].slot != -1) {
- continue;
- }
- if (strncasecmp(buf, "bank ", 5) != 0) {
+ if (memory->modules[curr_mem].slot != -1
+ || strncasecmp(buf, "bank ", 5) != 0) {
+ free(buf);
+ buf = NULL;
continue;
}
sscanf(buf, "%*s %d", &memory->modules[curr_mem].slot);