From: Jeffrey Altman Date: Tue, 8 Dec 2009 14:38:53 +0000 (-0500) Subject: Windows: return ENOMEM from cm_BPlus functions on malloc failure X-Git-Tag: openafs-devel-1_5_69~34 X-Git-Url: https://git.openafs.org/?p=openafs.git;a=commitdiff_plain;h=6f4ed82da9d941ac303eb2f886f95d97828119bc Windows: return ENOMEM from cm_BPlus functions on malloc failure There are several cm_BPlus functions that do not return an error code on malloc failure. LICENSE MIT Change-Id: I3a3d78cc6d6844c78e51fa81ebf330f5af88a7a5 Reviewed-on: http://gerrit.openafs.org/900 Tested-by: Jeffrey Altman Reviewed-by: Rod Widdowson Reviewed-by: Asanka Herath Tested-by: Asanka Herath Reviewed-by: Jeffrey Altman --- diff --git a/src/WINNT/afsd/cm_btree.c b/src/WINNT/afsd/cm_btree.c index 58dee14..5002832 100644 --- a/src/WINNT/afsd/cm_btree.c +++ b/src/WINNT/afsd/cm_btree.c @@ -2164,8 +2164,10 @@ cm_BPlusEnumAlloc(afs_uint32 entries) 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; + if (enump) { + memset(enump, 0, size); + enump->count = entries; + } return enump; } @@ -2340,6 +2342,8 @@ cm_BPlusDirEnumBulkStat(cm_direnum_t *enump) return 0; bsp = malloc(sizeof(cm_bulkStat_t)); + if (!bsp) + return ENOMEM; memset(bsp, 0, sizeof(cm_bulkStat_t)); for ( count = 0; count < enump->count; count++ ) { @@ -2400,6 +2404,8 @@ cm_BPlusDirEnumBulkStatNext(cm_direnum_t *enump) return 0; bsp = malloc(sizeof(cm_bulkStat_t)); + if (!bsp) + return ENOMEM; memset(bsp, 0, sizeof(cm_bulkStat_t)); for ( count = enump->next; count < enump->count; count++ ) {