From a18a11924a715ace4b2d8e101688d164390cb188 Mon Sep 17 00:00:00 2001 From: Florian Festi Date: Fri, 1 Jul 2022 14:44:11 +0200 Subject: [PATCH] rpm2cpio.sh: Don't drop newlines from header sizes This script converts binary header sizes to decimal numbers. Shell is not that well suited for this task as it drops newlines at the end of command substitutions. Add a . character at the end and strip it right after that to avoid this problem. Resolves: rhbz#1983015 --- scripts/rpm2cpio.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/rpm2cpio.sh b/scripts/rpm2cpio.sh index c1c505f..f77d5f8 100755 --- a/scripts/rpm2cpio.sh +++ b/scripts/rpm2cpio.sh @@ -27,7 +27,11 @@ calcsize() { i=0 while [ $i -lt 8 ]; do - b="$(_dd $(($offset + $i)) bs=1 count=1)" + # add . to not loose \n + # strip \0 as it gets dropped with warning otherwise + b="$(_dd $(($offset + $i)) bs=1 count=1 | tr -d '\0' ; echo .)" + b=${b%.} # strip . again + [ -z "$b" ] && b="0" || b="$(exec printf '%u\n' "'$b")" -- 1.8.3.1