diff options
author | Xin LI <delphij@FreeBSD.org> | 2009-05-18 22:27:42 +0000 |
---|---|---|
committer | Xin LI <delphij@FreeBSD.org> | 2009-05-18 22:27:42 +0000 |
commit | b873e82fedb8026ff397a976c38d4182a21da706 (patch) | |
tree | c176aed40df9d569e6997b325eceec4cbf609fb7 /funcs.c | |
parent | 5c0c0b37134b0adf152fe50a421560992e8cd5f8 (diff) |
Diffstat (limited to 'funcs.c')
-rw-r--r-- | funcs.c | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -27,7 +27,7 @@ #include "file.h" #ifndef lint -FILE_RCSID("@(#)$File: funcs.c,v 1.51 2008/11/07 18:57:28 christos Exp $") +FILE_RCSID("@(#)$File: funcs.c,v 1.53 2009/04/07 11:07:00 christos Exp $") #endif /* lint */ #include "magic.h" @@ -303,7 +303,14 @@ file_reset(struct magic_set *ms) file_error(ms, 0, "no magic files loaded"); return -1; } - ms->o.buf = NULL; + if (ms->o.buf) { + free(ms->o.buf); + ms->o.buf = NULL; + } + if (ms->o.pbuf) { + free(ms->o.pbuf); + ms->o.pbuf = NULL; + } ms->event_flags &= ~EVENT_HAD_ERR; ms->error = -1; return 0; |