diff options
author | Sage Weil <sage@inktank.com> | 2013-10-21 17:37:31 -0700 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2013-10-21 17:37:31 -0700 |
commit | 05f85c40a14b014cb522e3acf692348c1edaa064 (patch) | |
tree | ae9f8cbe5a79c094002c8daaed316b99bb1ed32b | |
parent | 1f6b8b27b0e8e8374b463f995536aaeed776201f (diff) | |
download | ceph-05f85c40a14b014cb522e3acf692348c1edaa064.tar.gz |
ceph_test_librbd: fix heap overrunwip-test-librbd
We are storing rbd_snap_info_t structs, not pointers to them. But we
can also avoid the heap entirely.
This crashed pretty reliably on arm.
Signed-off-by: Sage Weil <sage@inktank.com>
-rw-r--r-- | src/test/librbd/test_librbd.cc | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/test/librbd/test_librbd.cc b/src/test/librbd/test_librbd.cc index 8052d25d6e1..67650a4edd1 100644 --- a/src/test/librbd/test_librbd.cc +++ b/src/test/librbd/test_librbd.cc @@ -435,7 +435,7 @@ int test_ls_snaps(rbd_image_t image, int num_expected, ...) rbd_snap_info_t *snaps; int num_snaps, i, j, max_size = 10; va_list ap; - snaps = (rbd_snap_info_t *) malloc(sizeof(rbd_snap_info_t *) * max_size); + rbd_snap_info_t snaps[max_size]; num_snaps = rbd_snap_list(image, snaps, &max_size); printf("num snaps is: %d\nexpected: %d\n", num_snaps, num_expected); @@ -467,7 +467,6 @@ int test_ls_snaps(rbd_image_t image, int num_expected, ...) for (i = 0; i < num_snaps; i++) { assert(snaps[i].name == NULL); } - free(snaps); return num_snaps; } |