opensubscriber
   Find in this group all groups
 
Unknown more information…

l : linux-xfs@oss.sgi.com 22 February 2006 • 6:19AM -0500

Patch to fix segmentation fault in libattr
by Simon Munton

REPLY TO AUTHOR
 
REPLY TO GROUP






Hi

I found that using the attr command with the -l option could cause a
segmentation fault.

I tracked the problem down to the attr_list function in libattr.c. This
contains a loop that uses the value from the listxattr call to determine when
the loop finishes. However, this value is overwritten in the loop by the call
to getxattr.

The same problem also appears to be in attr_listf.

Following is patch to fix the problem.

Regards
Simon Munton

--- attr-2.4.28/libattr/libattr.c.orig  2006-01-13 03:16:52.000000000 +0000
+++ attr-2.4.28/libattr/libattr.c       2006-02-21 14:36:25.000000000 +0000
@@ -290,6 +290,8 @@
        end_offset = buffersize & ~(8-1);       /* 8 byte align */

        for (l = lbuf; l != lbuf + length; l = strchr(l, '\0') + 1) {
+               int length;
+
                if (api_unconvert(name, l, flags))
                        continue;
                if (flags & ATTR_DONTFOLLOW)
@@ -333,6 +335,8 @@
        end_offset = buffersize & ~(8-1);       /* 8 byte align */

        for (l = lbuf; l != lbuf + c; l = strchr(l, '\0') + 1) {
+               int c;
+
                if (api_unconvert(name, l, flags))
                        continue;
                c = fgetxattr(fd, l, NULL, 0);


Bookmark with:

Delicious   Digg   reddit   Facebook   StumbleUpon

Related Messages

opensubscriber is not affiliated with the authors of this message nor responsible for its content.