+2004-09-27 11:30 christos Zoulas <christos@zoulas.com>
+
+ * Remove 3rd and 4th copyright clause; approved by Ian Darwin.
+
+ * Fix small memory leaks; caught by: Tamas Sarlos
+ <stamas@csillag.ilab.sztaki.hu>
2004-07-24 16:33 Christos Zoulas <christos@zoulas.com>
#include "patchlevel.h"
#ifndef lint
-FILE_RCSID("@(#)$Id: file.c,v 1.94 2004/09/11 19:15:57 christos Exp $")
+FILE_RCSID("@(#)$Id: file.c,v 1.95 2004/09/27 15:28:37 christos Exp $")
#endif /* lint */
process(argv[optind], wid);
}
+ magic_close(magic);
return 0;
}
#include "patchlevel.h"
#ifndef lint
-FILE_RCSID("@(#)$Id: magic.c,v 1.23 2004/09/11 19:15:57 christos Exp $")
+FILE_RCSID("@(#)$Id: magic.c,v 1.24 2004/09/27 15:28:37 christos Exp $")
#endif /* lint */
#ifdef __EMX__
return NULL;
if (magic_setflags(ms, flags) == -1) {
- free(ms);
errno = EINVAL;
- return NULL;
+ goto free1;
}
ms->o.ptr = ms->o.buf = malloc(ms->o.size = 1024);
- ms->o.len = 0;
- if (ms->o.buf == NULL) {
- free(ms);
- return NULL;
- }
+ if (ms->o.buf == NULL)
+ goto free1;
+
ms->o.pbuf = malloc(ms->o.psize = 1024);
- if (ms->o.pbuf == NULL) {
- free(ms->o.buf);
- free(ms);
- return NULL;
- }
+ if (ms->o.pbuf == NULL)
+ goto free2;
+
ms->c.off = malloc((ms->c.len = 10) * sizeof(*ms->c.off));
- if (ms->c.off == NULL) {
- free(ms->o.pbuf);
- free(ms->o.buf);
- free(ms);
- return NULL;
- }
+ if (ms->c.off == NULL)
+ goto free3;
+
+ ms->o.len = 0;
ms->haderr = 0;
ms->error = -1;
ms->mlist = NULL;
return ms;
+free3:
+ free(ms->o.pbuf);
+free2:
+ free(ms->o.buf);
+free1:
+ free(ms);
+ return NULL;
}
private void
struct magic_set *ms;
{
free_mlist(ms->mlist);
+ free(ms->o.pbuf);
free(ms->o.buf);
free(ms->c.off);
free(ms);