Revision faa44e3d hw/9pfs/virtio-9p-xattr.c

b/hw/9pfs/virtio-9p-xattr.c
66 66
                        void *value, size_t vsize)
67 67
{
68 68
    ssize_t size = 0;
69
    char buffer[PATH_MAX];
69 70
    void *ovalue = value;
70 71
    XattrOperations *xops;
71 72
    char *orig_value, *orig_value_start;
72 73
    ssize_t xattr_len, parsed_len = 0, attr_len;
73 74

  
74 75
    /* Get the actual len */
75
    xattr_len = llistxattr(rpath(ctx, path), value, 0);
76
    xattr_len = llistxattr(rpath(ctx, path, buffer), value, 0);
76 77
    if (xattr_len <= 0) {
77 78
        return xattr_len;
78 79
    }
79 80

  
80 81
    /* Now fetch the xattr and find the actual size */
81 82
    orig_value = qemu_malloc(xattr_len);
82
    xattr_len = llistxattr(rpath(ctx, path), orig_value, xattr_len);
83
    xattr_len = llistxattr(rpath(ctx, path, buffer), orig_value, xattr_len);
83 84

  
84 85
    /* store the orig pointer */
85 86
    orig_value_start = orig_value;

Also available in: Unified diff