Browse code

Check for 0 byte allocations in cli_(m|c|re)alloc

git-svn: trunk@1650

Tomasz Kojm authored on 2005/07/17 00:19:57
Showing 2 changed files
... ...
@@ -1,3 +1,7 @@
1
+Sat Jul 16 17:02:53 CEST 2005 (tk)
2
+----------------------------------
3
+  * libclamav/others.c: Check for 0 byte allocations in cli_(m|c|re)alloc
4
+
1 5
 Fri Jul 15 11:19:54 BST 2005 (trog)
2 6
 -----------------------------------
3 7
   * libclamav/chmunpack.c: Fix possible malloc overflow. Reported by Alex Wheeler.
... ...
@@ -308,7 +308,7 @@ void *cli_malloc(size_t size)
308 308
 	void *alloc;
309 309
 
310 310
 
311
-    if(size > MAX_ALLOCATION) {
311
+    if(!size || size > MAX_ALLOCATION) {
312 312
 	cli_errmsg("Attempt to allocate %d bytes. Please report to bugs@clamav.net\n", size);
313 313
 	return NULL;
314 314
     }
... ...
@@ -328,7 +328,7 @@ void *cli_calloc(size_t nmemb, size_t size)
328 328
 	void *alloc;
329 329
 
330 330
 
331
-    if(size > MAX_ALLOCATION) {
331
+    if(!size || size > MAX_ALLOCATION) {
332 332
 	cli_errmsg("Attempt to allocate %d bytes. Please report to bugs@clamav.net\n", size);
333 333
 	return NULL;
334 334
     }
... ...
@@ -348,6 +348,11 @@ void *cli_realloc(void *ptr, size_t size)
348 348
 	void *alloc;
349 349
 
350 350
 
351
+    if(!size || size > MAX_ALLOCATION) {
352
+	cli_errmsg("Attempt to allocate %d bytes. Please report to bugs@clamav.net\n", size);
353
+	return NULL;
354
+    }
355
+
351 356
     alloc = realloc(ptr, size);
352 357
 
353 358
     if(!alloc) {