From 883337cc99ae202f55f6354dff7acbed4e54ba9d Mon Sep 17 00:00:00 2001 From: Christos Zoulas Date: Fri, 14 Feb 2003 21:39:26 +0000 Subject: [PATCH] Fix memory allocation problem. Jeff Johnson --- src/softmagic.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/softmagic.c b/src/softmagic.c index 8ef5fbf3..9d0a7805 100644 --- a/src/softmagic.c +++ b/src/softmagic.c @@ -34,7 +34,7 @@ #ifndef lint -FILE_RCSID("@(#)$Id: softmagic.c,v 1.52 2003/02/08 18:33:53 christos Exp $") +FILE_RCSID("@(#)$Id: softmagic.c,v 1.53 2003/02/14 21:39:26 christos Exp $") #endif /* lint */ static int match(struct magic *, uint32_t, unsigned char *, int); @@ -105,7 +105,8 @@ match(struct magic *magic, uint32_t nmagic, unsigned char *s, int nbytes) int firstline = 1; /* a flag to print X\n X\n- X */ if (tmpoff == NULL) - if ((tmpoff = (int32_t *) malloc(tmplen = 20)) == NULL) + if ((tmpoff = (int32_t *) malloc( + (tmplen = 20) * sizeof(*tmpoff))) == NULL) error("out of memory\n"); for (magindex = 0; magindex < nmagic; magindex++) { @@ -137,7 +138,7 @@ match(struct magic *magic, uint32_t nmagic, unsigned char *s, int nbytes) /* and any continuations that match */ if (++cont_level >= tmplen) if ((tmpoff = (int32_t *) realloc(tmpoff, - tmplen += 20)) == NULL) + (tmplen += 20) * sizeof(*tmpoff)) == NULL) error("out of memory\n"); while (magic[magindex+1].cont_level != 0 && ++magindex < nmagic) { @@ -184,7 +185,8 @@ match(struct magic *magic, uint32_t nmagic, unsigned char *s, int nbytes) if (++cont_level >= tmplen) if ((tmpoff = (int32_t *) realloc(tmpoff, - tmplen += 20)) == NULL) + (tmplen += 20) + * sizeof(*tmpoff))) == NULL) error("out of memory\n"); } if (magic[magindex].flag & OFFADD) { -- 2.40.0