]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
pybind/rados: put lens array in outer scope 30622/head
authorSage Weil <sage@redhat.com>
Wed, 17 Jul 2019 19:37:08 +0000 (14:37 -0500)
committerNathan Cutler <ncutler@suse.com>
Fri, 27 Sep 2019 14:43:38 +0000 (16:43 +0200)
Just paranoia about the lifecycle here

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 86ef15f49dd545a2bdccdd5b73cc918e44a8d649)

src/pybind/rados/rados.pyx

index 2e38cbbe1c55c630d2b0779a9078d7c724be37e2..d25a50dd4d00fdb36c3656a397efd2c307884b9c 100644 (file)
@@ -3366,12 +3366,13 @@ returned %d, but should return zero on success." % (self.name, ret))
 
         keys = cstr_list(keys, 'keys')
         values = cstr_list(values, 'values')
+        lens = [len(v) for v in values]
         cdef:
             WriteOp _write_op = write_op
             size_t key_num = len(keys)
             char **_keys = to_bytes_array(keys)
             char **_values = to_bytes_array(values)
-            size_t *_lens = to_csize_t_array([len(v) for v in values])
+            size_t *_lens = to_csize_t_array(lens)
 
         try:
             with nogil: