summaryrefslogtreecommitdiff
path: root/file.c
diff options
context:
space:
mode:
authorDmitry V. Levin <ldv@altlinux.org>2012-12-07 21:38:52 +0000
committerDmitry V. Levin <ldv@altlinux.org>2012-12-08 00:18:45 +0000
commit1f21513c38cbcb1d3d16e7b8ac0f17ef4793085e (patch)
tree892e25af9e2032a1d50f1298648acebeba0f160e /file.c
parenteff5c0e60c35d852a97a26cd8c6be50fed75a1a0 (diff)
downloadstrace-1f21513c38cbcb1d3d16e7b8ac0f17ef4793085e.tar.gz
strace-1f21513c38cbcb1d3d16e7b8ac0f17ef4793085e.tar.bz2
strace-1f21513c38cbcb1d3d16e7b8ac0f17ef4793085e.tar.xz
Fix *xattr decoding
* file.c (print_xattr_val): Do not attempt to decode a zero sized array. Fixes RH#885233.
Diffstat (limited to 'file.c')
-rw-r--r--file.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/file.c b/file.c
index b952e7f..1cd8d3c 100644
--- a/file.c
+++ b/file.c
@@ -2466,6 +2466,8 @@ print_xattr_val(struct tcb *tcp, int failed,
unsigned long insize,
unsigned long size)
{
+ if (insize == 0)
+ failed = 1;
if (!failed) {
unsigned long capacity = 4 * size + 1;
unsigned char *buf = (capacity < size) ? NULL : malloc(capacity);