From: Tuan Hoang Date: Tue, 1 Dec 2020 10:57:33 +0000 (+0100) Subject: pybind/cephfs: fix missing terminating NULL char in readlink()'s C string X-Git-Tag: v16.1.0~329^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F38367%2Fhead;p=ceph.git 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 --- diff --git a/src/pybind/cephfs/cephfs.pyx b/src/pybind/cephfs/cephfs.pyx index c40c2eb06002..249b4ffd057d 100644 --- a/src/pybind/cephfs/cephfs.pyx +++ b/src/pybind/cephfs/cephfs.pyx @@ -2167,7 +2167,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)