Package: star
Followup-For: Bug #348315

I'm sorry but I've posted incomplete patch file in the initial report.
Here it is, with setxattr and getxattr fixed.

-- System Information:
Debian Release: testing/unstable
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/dash
Kernel: Linux 2.6.14.5masca
Locale: LANG=cs_CZ, LC_CTYPE=cs_CZ (charmap=ISO-8859-2)
diff -Naur star-1.5a67.orig/star/xattr.c star-1.5a67/star/xattr.c
--- star-1.5a67.orig/star/xattr.c       2005-09-03 00:29:35.000000000 +0200
+++ star-1.5a67/star/xattr.c    2006-01-16 14:04:56.000000000 +0100
@@ -61,7 +61,7 @@
        info->f_xflags &= ~XF_XATTR;
        info->f_xattr = NULL;
 
-       list_len = listxattr(info->f_name, NULL, 0);
+       list_len = llistxattr(info->f_name, NULL, 0);
        if (list_len < 0) {
                if (!errhidden(E_GETXATTR, info->f_name)) {
                        if (!errwarnonly(E_GETXATTR, info->f_name))
@@ -74,7 +74,7 @@
                return (FALSE);
        }
        alist = __malloc(list_len+2, "extended attribute");
-       list_len = listxattr(info->f_name, alist, list_len);
+       list_len = llistxattr(info->f_name, alist, list_len);
        if (list_len < 0) {
                if (!errhidden(E_GETXATTR, info->f_name)) {
                        if (!errwarnonly(E_GETXATTR, info->f_name))
@@ -119,7 +119,7 @@
                static_xattr[i].value = NULL;
                strcpy(static_xattr[i].name, lp);
 
-               len = getxattr(info->f_name, lp, NULL, 0);
+               len = lgetxattr(info->f_name, lp, NULL, 0);
                if (len < 0) {
                        if (!errhidden(E_GETXATTR, info->f_name)) {
                                if (!errwarnonly(E_GETXATTR, info->f_name))
@@ -133,7 +133,7 @@
                }
                static_xattr[i].value_len = len;
                static_xattr[i].value = __malloc(len, "extended attribute");
-               len = getxattr(info->f_name, lp, static_xattr[i].value, len);
+               len = lgetxattr(info->f_name, lp, static_xattr[i].value, len);
                if (len < 0) {
                        if (!errhidden(E_GETXATTR, info->f_name)) {
                                if (!errwarnonly(E_GETXATTR, info->f_name))
@@ -181,7 +181,7 @@
                return (TRUE);
 
        for (xap = info->f_xattr; xap->name != NULL; xap++) {
-               if (setxattr(info->f_name, xap->name, xap->value,
+               if (lsetxattr(info->f_name, xap->name, xap->value,
                    xap->value_len, 0) != 0) {
                        if (!errhidden(E_SETXATTR, info->f_name)) {
                                if (!errwarnonly(E_SETXATTR, info->f_name))

Reply via email to