git-svn: trunk@3063
Tomasz Kojm authored on 2007/05/26 05:16:30... | ... |
@@ -379,6 +379,27 @@ void *cli_realloc(void *ptr, size_t size) |
379 | 379 |
} else return alloc; |
380 | 380 |
} |
381 | 381 |
|
382 |
+void *cli_realloc2(void *ptr, size_t size) |
|
383 |
+{ |
|
384 |
+ void *alloc; |
|
385 |
+ |
|
386 |
+ |
|
387 |
+ if(!size || size > CLI_MAX_ALLOCATION) { |
|
388 |
+ cli_errmsg("cli_realloc2(): Attempt to allocate %u bytes. Please report to http://bugs.clamav.net\n", size); |
|
389 |
+ return NULL; |
|
390 |
+ } |
|
391 |
+ |
|
392 |
+ alloc = realloc(ptr, size); |
|
393 |
+ |
|
394 |
+ if(!alloc) { |
|
395 |
+ cli_errmsg("cli_realloc2(): Can't re-allocate memory to %u bytes.\n", size); |
|
396 |
+ perror("realloc_problem"); |
|
397 |
+ if(ptr) |
|
398 |
+ free(ptr); |
|
399 |
+ return NULL; |
|
400 |
+ } else return alloc; |
|
401 |
+} |
|
402 |
+ |
|
382 | 403 |
char *cli_strdup(const char *s) |
383 | 404 |
{ |
384 | 405 |
char *alloc; |
... | ... |
@@ -173,6 +173,7 @@ void cli_dbgmsg(const char *str, ...); |
173 | 173 |
void *cli_malloc(size_t nmemb); |
174 | 174 |
void *cli_calloc(size_t nmemb, size_t size); |
175 | 175 |
void *cli_realloc(void *ptr, size_t size); |
176 |
+void *cli_realloc2(void *ptr, size_t size); |
|
176 | 177 |
char *cli_strdup(const char *s); |
177 | 178 |
int cli_rmdirs(const char *dirname); |
178 | 179 |
unsigned char *cli_md5digest(int desc); |