diff options
author | midipix <writeonce@midipix.org> | 2015-11-22 14:13:56 -0500 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2016-11-10 23:35:26 -0500 |
commit | fa22b4823aab053f0500b117527fa910db70277a (patch) | |
tree | 91433321cf15a053b456936dcbd351ff690f8653 /src/logic/pe_get_image_meta.c | |
parent | 8f16136058b89e3f1f4c0fad9cad21fe26978483 (diff) | |
download | perk-fa22b4823aab053f0500b117527fa910db70277a.tar.bz2 perk-fa22b4823aab053f0500b117527fa910db70277a.tar.xz |
driver integration 6/9: image map & meta logic: API changes (fd,free,ret).
Diffstat (limited to 'src/logic/pe_get_image_meta.c')
-rw-r--r-- | src/logic/pe_get_image_meta.c | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/src/logic/pe_get_image_meta.c b/src/logic/pe_get_image_meta.c index 350abe3..540ac87 100644 --- a/src/logic/pe_get_image_meta.c +++ b/src/logic/pe_get_image_meta.c @@ -2,7 +2,6 @@ #include <stdlib.h> #include <stdio.h> #include <string.h> -#include <errno.h> #include <perk/perk.h> #include "perk_impl.h" @@ -11,21 +10,19 @@ static int pe_free_image_meta_impl (struct pe_image_meta * meta, int status) { unsigned i; - if (!meta) return 0; + if (meta) { + for (i=0; i<meta->summary.num_of_implibs; i++) + free(meta->idata[i].items); - for (i=0; i<meta->summary.num_of_implibs; i++) - free(meta->idata[i].items); - - free(meta->idata); - free(meta->sectbl); - free(meta); - - return status; + free(meta->idata); + free(meta->sectbl); + free(meta); + } } -int pe_free_image_meta (struct pe_image_meta * meta) +void pe_free_image_meta (struct pe_image_meta * meta) { - return pe_free_image_meta_impl(meta,0); + pe_free_image_meta_impl(meta,0); } int pe_get_named_section_index (const struct pe_image_meta * m, const char * name) @@ -60,7 +57,7 @@ int pe_get_image_meta (const struct pe_raw_image * image, struct pe_image_meta * char * base = image->addr; if (!(m = calloc(1,sizeof(*m)))) - return errno; + return -1; m->ados = (struct pe_image_dos_hdr *)base; |