diff options
author | Pali Rohár <pali.rohar@gmail.com> | 2014-09-29 00:43:15 +0200 |
---|---|---|
committer | Pali Rohár <pali.rohar@gmail.com> | 2014-09-29 00:43:15 +0200 |
commit | dfc021d7c416b47576631016ac931271318df268 (patch) | |
tree | 830b48cef404099c495bdd721739ce742bc78a02 /src/image.c | |
parent | 23b916bcc9de857a1c88718cc2315813efbcb4e4 (diff) | |
download | 0xFFFF-dfc021d7c416b47576631016ac931271318df268.tar.bz2 |
image: Fix memory leaks
Diffstat (limited to 'src/image.c')
-rw-r--r-- | src/image.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/image.c b/src/image.c index 44655fb..48d80d8 100644 --- a/src/image.c +++ b/src/image.c @@ -88,14 +88,13 @@ static void image_missing_values_from_name(struct image * image, const char * na if ( image->devices && image->devices->device && ! image->devices->hwrevs ) image->devices->hwrevs = hwrevs_alloc_from_string(hwrevs); - else - free(hwrevs); if ( ! image->version ) image->version = version; else free(version); + free(hwrevs); free(str); } @@ -135,8 +134,10 @@ char * image_name_alloc_from_values(struct image * image) { length += 1 + strlen(image->version); name = calloc(1, length); - if ( ! name ) + if ( ! name ) { + free(hwrevs); ALLOC_ERROR_RETURN(NULL); + } strcpy(name, type); ptr = name + strlen(name); |