diff options
author | Rahul C S <rahulcs@redhat.com> | 2012-01-03 22:24:22 +0530 |
---|---|---|
committer | Vijay Bellur <vijay@gluster.com> | 2012-01-03 09:29:11 -0800 |
commit | a6777636fbb94a34a37cadd7840429f72fc5b747 (patch) | |
tree | f286a6b8aa93c22695b4a126f66f3d6aff091f41 /xlators/storage/posix | |
parent | fb825bccca8348cbff64edb239ee0cd66942984e (diff) |
Avoid setting dict when size is -1
when lgetxattr fails and returns size as -1, we
still try to set the dict. Instead it should set
proper errno & exit.
Change-Id: I282dc0765e562bd9bbcf852453cd3b72d918b269
BUG: 771313
Signed-off-by: Rahul C S <rahulcs@redhat.com>
Reviewed-on: http://review.gluster.com/2555
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Diffstat (limited to 'xlators/storage/posix')
-rw-r--r-- | xlators/storage/posix/src/posix.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/xlators/storage/posix/src/posix.c b/xlators/storage/posix/src/posix.c index ab512af15ac..cf5d855fede 100644 --- a/xlators/storage/posix/src/posix.c +++ b/xlators/storage/posix/src/posix.c @@ -2564,6 +2564,11 @@ posix_getxattr (call_frame_t *frame, xlator_t *this, strcpy (key, name); size = sys_lgetxattr (real_path, key, NULL, 0); + if (size == -1) { + op_ret = -1; + op_errno = errno; + goto out; + } value = GF_CALLOC (size + 1, sizeof(char), gf_posix_mt_char); if (!value) { op_ret = -1; |