aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoland Dreier <rolandd@cisco.com>2007-01-17 13:41:33 -0800
committerRoland Dreier <rolandd@cisco.com>2007-01-17 13:43:53 -0800
commit789728f7be1e6c7f22380ae739d7b692d2c08d0f (patch)
treead8616c17ba0d364bc6b91d5e62caaab2e3e10ad
parentd5a3825aca4520ed71d44c5d652f994960d42686 (diff)
downloadlibibverbs-789728f7be1e6c7f22380ae739d7b692d2c08d0f.tar.gz
Check return of calloc() in ibv_get_device_list()
Don't blindly copy device pointers if calloc() returns NULL. Signed-off-by: Roland Dreier <rolandd@cisco.com>
-rw-r--r--src/device.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/device.c b/src/device.c
index f7ef224..7f86e1a 100644
--- a/src/device.c
+++ b/src/device.c
@@ -63,9 +63,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)