76 lines
2.3 KiB
Diff
76 lines
2.3 KiB
Diff
|
From 0d5385ad2b7873746b91526e4b19c783584359c2 Mon Sep 17 00:00:00 2001
|
||
|
From: Juan RP <xtraeme@voidlinux.eu>
|
||
|
Date: Mon, 27 Jul 2015 09:44:25 +0200
|
||
|
Subject: [PATCH] xbps-checkvers: fixed an endless loop with "reverts"
|
||
|
containing extra alphanumeric chars.
|
||
|
|
||
|
---
|
||
|
NEWS | 4 ++++
|
||
|
bin/xbps-checkvers/main.c | 2 +-
|
||
|
tests/xbps/xbps-checkvers/checkvers.sh | 31 +++++++++++++++++++++++++++++++
|
||
|
3 files changed, 36 insertions(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/bin/xbps-checkvers/main.c b/bin/xbps-checkvers/main.c
|
||
|
index d74a157..896053c 100644
|
||
|
--- bin/xbps-checkvers/main.c
|
||
|
+++ bin/xbps-checkvers/main.c
|
||
|
@@ -533,7 +533,7 @@ check_reverts(const char *repover, const map_item_t reverts)
|
||
|
* Check if it's the first character or the previous character is a
|
||
|
* whitespace.
|
||
|
*/
|
||
|
- if (p > sreverts && !isspace(p[-1]))
|
||
|
+ if (p > sreverts && !isalpha(p[-1]) && !isspace(p[-1]))
|
||
|
continue;
|
||
|
p += strlen(repover);
|
||
|
/*
|
||
|
diff --git a/tests/xbps/xbps-checkvers/checkvers.sh b/tests/xbps/xbps-checkvers/checkvers.sh
|
||
|
index 4b834e3..b6d3be2 100755
|
||
|
--- tests/xbps/xbps-checkvers/checkvers.sh
|
||
|
+++ tests/xbps/xbps-checkvers/checkvers.sh
|
||
|
@@ -301,6 +301,36 @@ EOF
|
||
|
atf_check_equal "$out" "pkgname: A repover: 1.1_1 srcpkgver: 1.0_1"
|
||
|
}
|
||
|
|
||
|
+atf_test_case reverts_alpha
|
||
|
+
|
||
|
+reverts_alpha_head() {
|
||
|
+ atf_set "descr" "xbps-checkvers(8): test with reverts containing an alphanumeric character"
|
||
|
+}
|
||
|
+
|
||
|
+reverts_alpha_body() {
|
||
|
+ mkdir -p some_repo pkg_A void-packages/srcpkgs/fs-utils
|
||
|
+ touch pkg_A/file00
|
||
|
+ cat > void-packages/srcpkgs/fs-utils/template <<EOF
|
||
|
+pkgname=fs-utils
|
||
|
+reverts=v1.10_1
|
||
|
+version=1.10
|
||
|
+revision=1
|
||
|
+do_install() {
|
||
|
+ :
|
||
|
+}
|
||
|
+EOF
|
||
|
+ cd some_repo
|
||
|
+ xbps-create -A noarch -n fs-utils-1.10_1 -s "A pkg" ../pkg_A
|
||
|
+ atf_check_equal $? 0
|
||
|
+ xbps-rindex -d -a $PWD/*.xbps
|
||
|
+ atf_check_equal $? 0
|
||
|
+ cd ..
|
||
|
+ xbps-checkvers -R $PWD/some_repo -D $PWD/void-packages
|
||
|
+ out=`xbps-checkvers -R $PWD/some_repo -D $PWD/void-packages`
|
||
|
+ atf_check_equal $? 0
|
||
|
+ atf_check_equal "$out" "pkgname: fs-utils repover: 1.10_1 srcpkgver: 1.10_1"
|
||
|
+}
|
||
|
+
|
||
|
atf_init_test_cases() {
|
||
|
atf_add_test_case srcpkg_newer
|
||
|
atf_add_test_case srcpkg_newer_with_refs
|
||
|
@@ -313,4 +343,5 @@ atf_init_test_cases() {
|
||
|
atf_add_test_case srcpkg_missing_pkgver
|
||
|
atf_add_test_case srcpkg_missing_pkgverrev
|
||
|
atf_add_test_case reverts
|
||
|
+ atf_add_test_case reverts_alpha
|
||
|
}
|
||
|
--
|
||
|
2.4.6
|
||
|
|