From fbb3b454f559743d5b6dabf65ca086fe27532d85 Mon Sep 17 00:00:00 2001 From: Nigel Horne Date: Sun, 1 Aug 2004 08:22:58 +0000 Subject: [PATCH] Scan pathnames in Cygwin git-svn: trunk@713 --- clamav-devel/ChangeLog | 5 +++++ clamav-devel/libclamav/blob.c | 14 +++++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/clamav-devel/ChangeLog b/clamav-devel/ChangeLog index 3febb7b85..5a376b813 100644 --- a/clamav-devel/ChangeLog +++ b/clamav-devel/ChangeLog @@ -1,3 +1,8 @@ +Sun Aug 1 09:21:50 BST 2004 (njh) +---------------------------------- + * libclamav/blob.c: Ensure attachments with pathnames are scanned under + Cygwin + Fri Jul 30 21:08:29 CEST 2004 (tk) ---------------------------------- * libclamav: mspack: fix memory leak diff --git a/clamav-devel/libclamav/blob.c b/clamav-devel/libclamav/blob.c index 27fe8a53a..009e12418 100644 --- a/clamav-devel/libclamav/blob.c +++ b/clamav-devel/libclamav/blob.c @@ -16,6 +16,9 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * $Log: blob.c,v $ + * Revision 1.14 2004/08/01 08:20:58 nigelhorne + * Scan pathnames in Cygwin + * * Revision 1.13 2004/06/16 08:07:39 nigelhorne * Added thread safety * @@ -41,7 +44,7 @@ * Change LOG to Log * */ -static char const rcsid[] = "$Id: blob.c,v 1.13 2004/06/16 08:07:39 nigelhorne Exp $"; +static char const rcsid[] = "$Id: blob.c,v 1.14 2004/08/01 08:20:58 nigelhorne Exp $"; #if HAVE_CONFIG_H #include "clamav-config.h" @@ -126,7 +129,7 @@ blobSetFilename(blob *b, const char *filename) for(ptr = b->name; *ptr; ptr++) { #if defined(MSDOS) || defined(C_CYGWIN) || defined(WIN32) - if(strchr("*?<>|\"+=,;: ", *ptr)) + if(strchr("/*?<>|\"+=,;: ", *ptr)) #elif defined(C_DARWIN) if((*ptr == '/') || (*ptr >= '\200')) #else @@ -173,8 +176,13 @@ blobAddData(blob *b, const unsigned char *data, size_t len) b->size = len * 4; b->data = cli_malloc(b->size); } else if(b->size < b->len + len) { + unsigned char *p = cli_realloc(b->data, b->size + (len * 4)); + + if(p == NULL) + return; + b->size += len * 4; - b->data = cli_realloc(b->data, b->size); + b->data = p; } if(b->data) {