]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
r23882: Fix Coverity id 389 -- finally (I hope)
authorVolker Lendecke <vlendec@samba.org>
Mon, 16 Jul 2007 07:40:30 +0000 (07:40 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:28:38 +0000 (12:28 -0500)
(This used to be commit 9b8f2d8bd144700306819480bcb260d2c20969ae)

source3/locking/brlock.c

index 228a30b7af42d45d4614f38d902a2d0ce864b7a5..252728ced372d442f70bc0985ed23a2e678ad029 100644 (file)
@@ -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;