Merge branch 'master' of git.clam.sourcefire.com:/var/lib/git/clamav-devel

pull/25/head
David Raynor 13 years ago
commit 94a0ad817d
  1. 8
      win32/3rdparty/zlib/contrib/testzlib/testzlib.c
  2. 7
      win32/3rdparty/zlib/examples/gzappend.c
  3. 51
      win32/compat/glob.c
  4. 10
      win32/compat/net.c

@ -184,6 +184,10 @@ int main(int argc, char *argv[])
lBufferSizeUncpr = lBufferSizeCpr;
CprPtr=(unsigned char*)malloc(lBufferSizeCpr + BlockSizeCompress);
if (CprPtr == NULL) { /* oops, malloc() failed */
fprintf(stderr, "warning: malloc() for variable 'CprPtr' in main() failed...\n");
return -1;
}
BeginCountPerfCounter(&li_qp,TRUE);
dwGetTick=GetTickCount();
@ -225,6 +229,10 @@ int main(int argc, char *argv[])
CprPtr=(unsigned char*)realloc(CprPtr,lSizeCpr);
UncprPtr=(unsigned char*)malloc(lBufferSizeUncpr + BlockSizeUncompress);
if (UncprPtr == NULL) { /* oops, malloc() failed */
fprintf(stderr, "warning: malloc() for variable 'UncprPtr' in main() failed...\n");
return -1;
}
BeginCountPerfCounter(&li_qp,TRUE);
dwGetTick=GetTickCount();

@ -399,7 +399,12 @@ local void gztack(char *name, int gd, z_stream *strm, int last)
}
/* allocate buffers */
in = fd == -1 ? NULL : malloc(CHUNK);
if (fd == -1)
in = NULL;
else {
in = malloc(CHUNK);
if (in == NULL) bye("out of memory", "");
}
out = malloc(CHUNK);
if (out == NULL) bye("out of memory", "");

@ -74,6 +74,7 @@ static int glob_add(char *path, int *argc, char ***argv) {
int baselen, taillen, dirlen, mergedir = 0, outlen = 0;
int qmarklen = 0;
DIR *d;
void *p;
if(strlen(path) > 4 && !memcmp(path, "\\\\?\\", 4))
tailqmark = strchr(&path[4], '?');
@ -84,7 +85,13 @@ static int glob_add(char *path, int *argc, char ***argv) {
tail = tailqmark;
if(!tail) {
*argv = realloc(*argv, sizeof(**argv) * (*argc + 1));
p = realloc(*argv, sizeof(**argv) * (*argc + 1));
if (p == NULL) {
/* realloc() failed, print warning */
fprintf(stderr, "warning: realloc() for '*argv' failed\n");
return -1;
}
*argv = (char **)p;
(*argv)[*argc] = path;
(*argc)++;
return strlen(path);
@ -153,7 +160,11 @@ static int glob_add(char *path, int *argc, char ***argv) {
int d_taillen = taildirsep - tail;
if(namelen < baselen + d_taillen) continue;
if(strncasecmp(tail, &de->d_name[namelen - d_taillen], d_taillen)) continue;
newpath = malloc(dirlen + namelen + taillen - d_taillen + 3);
newpath = (char *)malloc(dirlen + namelen + taillen - d_taillen + 3);
if (newpath == NULL) { /* oops, malloc() has failed */
fprintf(stderr, "warning: malloc() failed in function 'globadd'...\n");
return -1;
}
sprintf(newpath, "%s\\%s\\%s", dir, de->d_name, &tail[d_taillen+1]);
outlen += glob_add(newpath, argc, argv);
} else {
@ -171,7 +182,11 @@ static int glob_add(char *path, int *argc, char ***argv) {
for(; namelen >= d_taillen; start++, namelen--) {
if(strncasecmp(start, tail, d_taillen)) continue;
newpath = malloc(dirlen + (start - de->d_name) + taillen + 2);
newpath = (char *)malloc(dirlen + (start - de->d_name) + taillen + 2);
if (newpath == NULL) { /* oops, malloc() has failed */
fprintf(stderr, "warning: malloc() failed in function 'globadd'...\n");
return -1;
}
sprintf(newpath, "%s\\", dir);
memcpy(&newpath[dirlen + 1], de->d_name, start - de->d_name);
strcpy(&newpath[dirlen + 1 + start - de->d_name], tail);
@ -190,9 +205,10 @@ void w32_glob(int *argc_ptr, char ***argv_ptr) {
char *cur, *begparm = NULL, *endparm = NULL;
char **argv = NULL, c;
int argc = 0, in_sq = 0, in_dq = 0, need_glob = 0, allarglen = 0, linelen;
void *p;
linelen = wcslen(wtmp);
cur = _alloca(linelen * 6 + 1);
cur = (char *)_alloca(linelen * 6 + 1);
if(!WideCharToMultiByte(CP_UTF8, 0, wtmp, -1, cur, linelen * 6 + 1, NULL, NULL))
cur = GetCommandLineA();
@ -232,8 +248,12 @@ void w32_glob(int *argc_ptr, char ***argv_ptr) {
}
if (begparm && endparm) {
if(begparm < endparm) {
char *path = malloc(endparm - begparm + 1), *quotes;
int arglen = 0;
char *path = (char *)malloc(endparm - begparm + 1), *quotes;
if (path == NULL) { /* oops, malloc() failed */
fprintf(stderr, "warning: malloc() failed for '*path'...\n");
return;
}
memcpy(path, begparm, endparm - begparm);
path[endparm - begparm] = '\0';
@ -243,13 +263,22 @@ void w32_glob(int *argc_ptr, char ***argv_ptr) {
if(argc && need_glob) {
arglen = glob_add(path, &argc, &argv);
if(!arglen) {
path = malloc(endparm - begparm + 1);
path = (char *)malloc(endparm - begparm + 1);
if (path == NULL) { /* oops, malloc() failed */
fprintf(stderr, "warning: malloc failed for 'path'...\n");
return;
}
memcpy(path, begparm, endparm - begparm);
path[endparm - begparm] = '\0';
}
}
if(!arglen) {
argv = realloc(argv, sizeof(*argv) * (argc + 1));
p = realloc(argv, sizeof(*argv) * (argc + 1));
if (p == NULL) { /* realloc() failed */
fprintf(stderr, "warning: realloc() for 'argv' failed, original value unchanged...\n");
return;
}
argv = (char **)p;
argv[argc] = path;
argc++;
arglen = endparm - begparm;
@ -266,7 +295,12 @@ void w32_glob(int *argc_ptr, char ***argv_ptr) {
} while (c);
if(argc) {
int i, argvlen = sizeof(*argv) * (argc + 1), argclen = 0;
argv = realloc(argv, argvlen + allarglen + argc);
p = realloc(argv, argvlen + allarglen + argc);
if (p == NULL) { /* oops, realloc() failed */
fprintf(stderr, "warning: realloc() for 'argv' failed, original value unchanged...\n");
return;
}
argv = (char **)p;
argv[argc] = NULL;
for(i=0; i<argc; i++) {
int curlen = strlen(argv[i]) + 1;
@ -280,4 +314,3 @@ void w32_glob(int *argc_ptr, char ***argv_ptr) {
*argc_ptr = argc;
*argv_ptr = argv;
}

@ -18,6 +18,7 @@
* MA 02110-1301, USA.
*/
#include <stdio.h>
#include <winsock2.h>
#include <Ws2tcpip.h>
/* #define W2K_DNSAAPI_COMPAT */
@ -414,9 +415,17 @@ int poll_with_event(struct pollfd *fds, int nfds, int timeout, HANDLE event) {
return 0;
}
setme = malloc(2 * sizeof(HANDLE));
if (setme == NULL) { /* oops, malloc() failed */
fprintf(stderr, "warning: malloc() for variable 'setme' failed in function 'poll_with_event'...\n");
return -1;
}
setme[0] = CreateEvent(NULL, TRUE, FALSE, NULL);
setme[1] = event;
items = malloc(nfds * sizeof(struct w32polldata));
if (items == NULL) { /* oops, malloc() failed */
fprintf(stderr, "warning: malloc() for variable 'items' failed in function 'poll_with_event'...\n");
return -1;
}
for(i=0; i<nfds; i++) {
items[i].polldata = &fds[i];
items[i].event = CreateEvent(NULL, TRUE, FALSE, NULL);
@ -484,4 +493,3 @@ int fcntl(int fd, int cmd, ...) {
}
return -1;
}

Loading…
Cancel
Save