From c66b5f1057623b78c3db911d7aab506ec475fa6b Mon Sep 17 00:00:00 2001 From: Roland Dreier Date: Thu, 1 Jun 2006 23:16:18 +0000 Subject: [PATCH] Fix ibv_get_device_list() to really NULL-terminate the array Signed-off-by: Roland Dreier --- ChangeLog | 9 +++++++-- src/device.c | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 41790e2..6278031 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,8 +1,13 @@ +2006-06-01 Roland Dreier + + * src/device.c (ibv_get_device_list): Actually return a + NULL-terminated array as the documentation promises. + 2006-05-31 Roland Dreier * src/init.c (find_drivers), src/device.c (ibv_open_device): Fix - memleaks: the result of asprintf() needs to be freed when we're - done with it. + memory leaks: the result of asprintf() needs to be freed when + we're done with it. * examples/asyncwatch.c (event_name_str): Print human-readable form of IBV_EVENT_CLIENT_REREGISTER. diff --git a/src/device.c b/src/device.c index 4eee31c..4ceb640 100644 --- a/src/device.c +++ b/src/device.c @@ -63,7 +63,7 @@ struct ibv_device **ibv_get_device_list(int *num) if (!num_devices) num_devices = ibverbs_init(&device_list); - l = calloc(num_devices, sizeof (struct ibv_device *)); + l = calloc(num_devices + 1, sizeof (struct ibv_device *)); for (i = 0; i < num_devices; ++i) l[i] = device_list[i]; -- 2.41.0