From: Volker Lendecke Date: Mon, 16 Jul 2007 07:40:30 +0000 (+0000) Subject: r23882: Fix Coverity id 389 -- finally (I hope) X-Git-Tag: samba-4.0.0alpha6~801^2~5355 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c9da49790e67b6840c4cfa6daddfffbbe643d140;p=thirdparty%2Fsamba.git r23882: Fix Coverity id 389 -- finally (I hope) (This used to be commit 9b8f2d8bd144700306819480bcb260d2c20969ae) --- diff --git a/source3/locking/brlock.c b/source3/locking/brlock.c index 228a30b7af4..252728ced37 100644 --- a/source3/locking/brlock.c +++ b/source3/locking/brlock.c @@ -1641,14 +1641,18 @@ static struct byte_range_lock *brl_get_locks_internal(TALLOC_CTX *mem_ctx, talloc_set_destructor(br_lck, byte_range_lock_destructor); br_lck->num_locks = data.dsize / sizeof(struct lock_struct); - br_lck->lock_data = SMB_MALLOC_ARRAY(struct lock_struct, br_lck->num_locks); - if ((br_lck->num_locks != 0) && (br_lck->lock_data == NULL)) { - DEBUG(0, ("malloc failed\n")); - TALLOC_FREE(br_lck); - return NULL; - } - memcpy(br_lck->lock_data, data.dptr, data.dsize); + if (br_lck->num_locks != 0) { + br_lck->lock_data = SMB_MALLOC_ARRAY(struct lock_struct, + br_lck->num_locks); + if (br_lck->lock_data == NULL) { + DEBUG(0, ("malloc failed\n")); + TALLOC_FREE(br_lck); + return NULL; + } + + memcpy(br_lck->lock_data, data.dptr, data.dsize); + } if (!fsp->lockdb_clean) { int orig_num_locks = br_lck->num_locks;