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