
21 Oct
2010
21 Oct
'10
1:25 p.m.
In case malloc is invoked with requested size 0, this patch will prevent the execution of the allocation algorithm (because it corrupts the data structures) and will return 0 to the caller.
Signed-off-by: Nikolaos Kostaras nkost@intracomdefense.com
common/dlmalloc.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/common/dlmalloc.c b/common/dlmalloc.c index fce7a76..d9e3ea9 100644 --- a/common/dlmalloc.c +++ b/common/dlmalloc.c @@ -2182,7 +2182,7 @@ Void_t* mALLOc(bytes) size_t bytes; return 0; }
- if ((long)bytes < 0) return 0;
- if ((long)bytes <= 0) return 0;
I think you should return some impossible ptr value =! NULL Size 0 not really an error. In free you do: if (impossible ptr) return;
If you can't find a good ptr value you could just do: if (!bytes) bytes = 1;