From: Christos Zoulas Date: Sun, 10 Aug 2003 14:25:14 +0000 (+0000) Subject: fix free'ing of memory mapped case. X-Git-Tag: FILE4_04~11 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8b4890943a09a5c450c3f3c31e764c3722abf33f;p=file fix free'ing of memory mapped case. --- diff --git a/src/apprentice.c b/src/apprentice.c index f7030d75..273b4fd9 100644 --- a/src/apprentice.c +++ b/src/apprentice.c @@ -50,7 +50,7 @@ #endif #ifndef lint -FILE_RCSID("@(#)$Id: apprentice.c,v 1.60 2003/07/10 17:01:38 christos Exp $") +FILE_RCSID("@(#)$Id: apprentice.c,v 1.61 2003/08/10 14:25:14 christos Exp $") #endif /* lint */ #define EATAB {while (isascii((unsigned char) *l) && \ @@ -914,6 +914,7 @@ apprentice_map(struct magic_set *ms, struct magic **magicp, uint32_t *nmagicp, char buf[MAXPATHLEN]; char *dbname = mkdbname(fn, buf, sizeof(buf)); void *mm; + int rv; if (dbname == NULL) return -1; @@ -933,6 +934,7 @@ apprentice_map(struct magic_set *ms, struct magic **magicp, uint32_t *nmagicp, file_error(ms, "Cannot map `%s' (%s)", dbname, strerror(errno)); goto error; } + rv = 2; #else if ((mm = malloc((size_t)st.st_size)) == NULL) { file_oomem(ms); @@ -942,6 +944,7 @@ apprentice_map(struct magic_set *ms, struct magic **magicp, uint32_t *nmagicp, file_error(ms, "Read failed (%s)", strerror(errno)); goto error; } + rv = 1; #endif *magicp = mm; (void)close(fd); @@ -968,7 +971,7 @@ apprentice_map(struct magic_set *ms, struct magic **magicp, uint32_t *nmagicp, (*magicp)++; if (needsbyteswap) byteswap(*magicp, *nmagicp); - return 0; + return rv; error: if (fd != -1)