]> granicus.if.org Git - strace/commitdiff
Fix *xattr decoding
authorDmitry V. Levin <ldv@altlinux.org>
Fri, 7 Dec 2012 21:38:52 +0000 (21:38 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Sat, 8 Dec 2012 00:18:45 +0000 (00:18 +0000)
* file.c (print_xattr_val): Do not attempt to decode a zero sized array.
Fixes RH#885233.

file.c

diff --git a/file.c b/file.c
index b952e7f759244dfd780d134729ac15efc394225d..1cd8d3c0b9aa6cad789605ca27e3d822a066a582 100644 (file)
--- 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);