diff options
author | Roland Dreier <rolandd@cisco.com> | 2007-01-17 13:41:33 -0800 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2007-01-17 13:43:53 -0800 |
commit | 789728f7be1e6c7f22380ae739d7b692d2c08d0f (patch) | |
tree | ad8616c17ba0d364bc6b91d5e62caaab2e3e10ad | |
parent | d5a3825aca4520ed71d44c5d652f994960d42686 (diff) | |
download | libibverbs-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.c | 4 |
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) |