Skip to content

Commit

Permalink
fix: Sanitize filename (#577)
Browse files Browse the repository at this point in the history
  • Loading branch information
kroese committed Jan 19, 2024
1 parent fab7767 commit b908c11
Showing 1 changed file with 10 additions and 7 deletions.
17 changes: 10 additions & 7 deletions src/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,12 @@ else
fi

if [ -n "$URL" ]; then
PURL="${URL%%\?*}"
BASE=$(basename "$PURL" .pat)
BASE=$(basename "$URL" .pat)
if [ ! -f "$STORAGE/$BASE.system.img" ]; then
BASE=$(basename "${URL%%\?*}" .pat)
: "${BASE//+/ }"; printf -v BASE '%b' "${_//%/\\x}"
BASE=$(echo "$BASE" | sed -e 's/[^A-Za-z0-9._-]/_/g')
fi
fi

if [[ -f "$STORAGE/$BASE.boot.img" ]] && [[ -f "$STORAGE/$BASE.system.img" ]]; then
Expand All @@ -37,8 +41,9 @@ fi

[ -z "$URL" ] && URL="$DL/release/7.2.1/69057-1/DSM_VirtualDSM_69057.pat"

PURL="${URL%%\?*}"
BASE=$(basename "$PURL" .pat)
BASE=$(basename "${URL%%\?*}" .pat)
: "${BASE//+/ }"; printf -v BASE '%b' "${_//%/\\x}"
BASE=$(echo "$BASE" | sed -e 's/[^A-Za-z0-9._-]/_/g')

if [[ "$URL" != "file://$STORAGE/$BASE.pat" ]]; then
rm -f "$STORAGE/$BASE.pat"
Expand Down Expand Up @@ -169,7 +174,7 @@ fi

rm -rf "$TMP" && mkdir -p "$TMP"

info "Install: Downloading $(basename "$PURL")..."
info "Install: Downloading $BASE.pat..."

PAT="/$BASE.pat"
rm -f "$PAT"
Expand Down Expand Up @@ -315,7 +320,6 @@ else
fi

rm -rf "$MOUNT"

echo "$BASE" > "$STORAGE/dsm.ver"

if [[ "$URL" == "file://$STORAGE/$BASE.pat" ]]; then
Expand All @@ -325,7 +329,6 @@ else
fi

mv -f "$BOOT" "$STORAGE/$BASE.boot.img"

rm -rf "$TMP"

{ set +x; } 2>/dev/null
Expand Down

0 comments on commit b908c11

Please sign in to comment.