]> git.openfabrics.org - ~shefty/libibverbs.git/commitdiff
Check return of calloc() in ibv_get_device_list()
authorRoland Dreier <rolandd@cisco.com>
Wed, 17 Jan 2007 21:41:33 +0000 (13:41 -0800)
committerRoland Dreier <rolandd@cisco.com>
Wed, 17 Jan 2007 21:45:05 +0000 (13:45 -0800)
Don't blindly copy device pointers if calloc() returns NULL.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
(cherry picked from commit 789728f7be1e6c7f22380ae739d7b692d2c08d0f)

src/device.c

index 90e3b1506118079188a0f2fe0d1194206f694c3d..30c81ba0d178ec00127f31ccd3a005b4fa048547 100644 (file)
@@ -62,9 +62,13 @@ struct ibv_device **ibv_get_device_list(int *num)
                num_devices = ibverbs_init(&device_list);
 
        l = calloc(num_devices + 1, sizeof (struct ibv_device *));
+       if (!l)
+               goto out;
+
        for (i = 0; i < num_devices; ++i)
                l[i] = device_list[i];
 
+out:
        pthread_mutex_unlock(&device_list_lock);
 
        if (num)