From ea1b9cc7dffff0150b97466a3c19dfebf6e9252e Mon Sep 17 00:00:00 2001 From: Tuan Hoang Date: Tue, 1 Dec 2020 11:57:33 +0100 Subject: [PATCH] pybind/cephfs: fix missing terminating NULL char in readlink()'s C string The error is in test_readlink() in src/test/pybind/test_cephfs.py: ... test_cephfs.test_readlink ... FAIL ====================================================================== FAIL: test_cephfs.test_readlink ---------------------------------------------------------------------- Traceback (most recent call last): File "/usr/lib/python3/dist-packages/nose/case.py", line 197, in runTest self.test(*self.arg) File "/home/tmhoang/test_cephfs.py", line 99, in test_readlink assert_equal(d, b"/file-1") AssertionError: b'/file-1\xe8' != b'/file-1' ... Fixes: https://tracker.ceph.com/issues/48408 Signed-off-by: Tuan Hoang (cherry picked from commit b7af5152c1be806fd529242411b9583fd4d50c76) --- src/pybind/cephfs/cephfs.pyx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pybind/cephfs/cephfs.pyx b/src/pybind/cephfs/cephfs.pyx index d7d0c51e45113..9fcf187ea82ff 100644 --- a/src/pybind/cephfs/cephfs.pyx +++ b/src/pybind/cephfs/cephfs.pyx @@ -1401,7 +1401,7 @@ cdef class LibCephFS(object): ret = ceph_readlink(self.cluster, _path, buf, _size) if ret < 0: raise make_ex(ret, "error in readlink") - return buf + return buf[:ret] finally: free(buf) -- 2.39.5