main/squashfs-tools: backport xattr fix

This commit is contained in:
psykose 2023-03-21 11:31:11 +00:00
parent 1fee51ccf8
commit f9f30c29d2
2 changed files with 47 additions and 2 deletions

View File

@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=squashfs-tools
pkgver=4.6
pkgrel=1
pkgrel=2
pkgdesc="Tools for squashfs, a highly compressed read-only filesystem for Linux"
url="https://github.com/plougher/squashfs-tools"
arch="all"
@ -15,7 +15,9 @@ makedepends="
zstd-dev
"
subpackages="$pkgname-doc"
source="$pkgname-$pkgver.tar.gz::https://github.com/plougher/squashfs-tools/archive/$pkgver.tar.gz"
source="$pkgname-$pkgver.tar.gz::https://github.com/plougher/squashfs-tools/archive/$pkgver.tar.gz
xattr-crash.patch
"
options="!check" # no testsuite
# secfixes:
@ -40,4 +42,5 @@ package() {
sha512sums="
3a9effb9a5cf46fbb9f393e58bd938874dc4121828b77c67d659117ee84643917998a8503d629f46f1eff1826f6d7ae59ac2d803a5cdc3cfb1006ef2b3abf8c8 squashfs-tools-4.6.tar.gz
d0358ec218bd72fdeae4c44d17d137b5d46553cfa73d944842931a49600512fe573e14511c5dd78967cf86822a81844673d0123cf4ef07dcf851bb36fc59b902 xattr-crash.patch
"

View File

@ -0,0 +1,42 @@
Patch-Source: https://github.com/archlinux/svntogit-packages/blob/e704c0c9d68cd55b0a28afc7d1f2859480a01611/trunk/0001-xattr-fix-the-name-in-error-message.patch
--
From 3ac6d8663740a7018d4e50778dc67f372afbddb1 Mon Sep 17 00:00:00 2001
From: Christian Hesse <mail@eworm.de>
Date: Mon, 20 Mar 2023 11:02:27 +0100
Subject: [PATCH 1/1] xattr: fix the name in error message
Commit 744ca24fd680eb0535b251e801be10195d2ffcfb changed to no longer
copy the name, but we need it. Mess with p only after we used it.
Fixes #234
---
squashfs-tools/xattr.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/squashfs-tools/xattr.c b/squashfs-tools/xattr.c
index 32343f5..a46eb1f 100644
--- a/squashfs-tools/xattr.c
+++ b/squashfs-tools/xattr.c
@@ -219,15 +219,15 @@ static int read_xattrs_from_system(struct dir_ent *dir_ent, char *filename,
xattr_list = x;
xattr_list[i].type = xattr_get_prefix(&xattr_list[i], p);
- p += strlen(p) + 1;
if(xattr_list[i].type == -1) {
- ERROR("Unrecognised xattr prefix %s\n",
- xattr_list[i].full_name);
- free(xattr_list[i].full_name);
+ ERROR("Unrecognised xattr prefix %s\n", p);
+ p += strlen(p) + 1;
continue;
}
+ p += strlen(p) + 1;
+
while(1) {
vsize = lgetxattr(filename, xattr_list[i].full_name,
NULL, 0);
--
2.40.0