From 62a21819a1b57d006c73f84362494794651d1a37 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Sat, 5 Dec 2009 10:51:27 -0500 Subject: [PATCH] Windows: cm_BPlusEnumAlloc should not fail for zero entries If cm_BPlusEnumAlloc returns NULL, the caller assumes a memory allocation error. If the enumeration consists of zero entries, allocate a structure that stores zero entries. LICENSE MIT Change-Id: I8ed3811a1b3a0e4262749e110027c5d5812338b6 Reviewed-on: http://gerrit.openafs.org/892 Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman --- src/WINNT/afsd/cm_btree.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/WINNT/afsd/cm_btree.c b/src/WINNT/afsd/cm_btree.c index 2ae7c0ce31..58dee1425a 100644 --- a/src/WINNT/afsd/cm_btree.c +++ b/src/WINNT/afsd/cm_btree.c @@ -2160,9 +2160,9 @@ cm_BPlusEnumAlloc(afs_uint32 entries) size_t size; if (entries == 0) - return NULL; - - size = sizeof(cm_direnum_t)+(entries-1)*sizeof(cm_direnum_entry_t); + size = sizeof(cm_direnum_t); + else + size = sizeof(cm_direnum_t)+(entries-1)*sizeof(cm_direnum_entry_t); enump = (cm_direnum_t *)malloc(size); memset(enump, 0, size); enump->count = entries;