summaryrefslogtreecommitdiffstats
path: root/XAlloc.c
diff options
context:
space:
mode:
authorExplorer09 <explorer09@gmail.com>2016-03-11 10:43:31 +0800
committerExplorer09 <explorer09@gmail.com>2016-03-11 10:43:31 +0800
commit7d3f67e8223168f1da4f82f928029056f74ad651 (patch)
tree5090a2b7f58bbbbc903ce16a1ed1aeb388fc3911 /XAlloc.c
parent3283c6d23cf6e661bc66f79c07acaf1d4c2f5caf (diff)
calloc() allows 'nmemb' or 'size' to be zero, in which case NULL may be returned. Letting htop die because of either argument being zero doesn't make sense. As a side note: As size_t is unsigned, compiler should be able to optimize conditional (nmemb > 0 && size > 0) to (nmemb && size). This theorically shouldn't increase code size too much.
Diffstat (limited to 'XAlloc.c')
-rw-r--r--XAlloc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/XAlloc.c b/XAlloc.c
index cc290211..38556987 100644
--- a/XAlloc.c
+++ b/XAlloc.c
@@ -29,7 +29,7 @@ void* xMalloc(size_t size) {
void* xCalloc(size_t nmemb, size_t size) {
void* data = calloc(nmemb, size);
- if (!data) {
+ if (!data && nmemb > 0 && size > 0) {
fail();
}
return data;