]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
client: fix getting zero-length xattr 3383/head
authorYan, Zheng <zyan@redhat.com>
Fri, 16 Jan 2015 02:16:44 +0000 (10:16 +0800)
committerYan, Zheng <zyan@redhat.com>
Fri, 16 Jan 2015 02:26:19 +0000 (10:26 +0800)
Fixes: #10552
Signed-off-by: Yan, Zheng <zyan@redhat.com>
src/client/Client.cc

index bd7c5caf57f9460d5b2fdc628bd38b5a3aa5600d..e62ab1f816d325b94950ec47718b76c07b2e6713 100644 (file)
@@ -8377,7 +8377,7 @@ int Client::_getxattr(Inode *in, const char *name, void *value, size_t size,
     r = -ENODATA;
     if (in->xattrs.count(n)) {
       r = in->xattrs[n].length();
-      if (size != 0) {
+      if (r > 0 && size != 0) {
        if (size >= (unsigned)r)
          memcpy(value, in->xattrs[n].c_str(), r);
        else