https://bugs.kde.org/show_bug.cgi?id=524767

Méven <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Latest Commit|                            |https://invent.kde.org/util
                   |                            |ities/ark/-/commit/f85038af
                   |                            |1da827c111ae8ade723b102080d
                   |                            |ec62e
            Version|                            |26.12
  Fixed/Implemented|                            |
                 In|                            |
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED

--- Comment #4 from Méven <[email protected]> ---
Git commit f85038af1da827c111ae8ade723b102080dec62e by Méven Car.
Committed on 08/10/2026 at 15:22.
Pushed by meven into branch 'master'.

libzip: read a windows path separator as a folder separator

A zip written by a Windows program stores its paths with backslashes. Ark
listed one flat entry per path and extracted a file named
TamrielTradeCentre\TamrielTradeCentreInit.lua.

toUnixSeparator() tested
path.contains(QLatin1Char('\\')) && !path.contains(QLatin1String("\\")).
Both arguments hold one backslash, so the second test undoes the first and no
archive has been detected since 21.12.

The decision is now taken once per archive: a backslash is a separator when no
entry holds a forward slash and the entries that hold a backslash were written
on DOS or Windows. libarchive reads a zip by the same rule.
FIXED-IN: 26.12

M  +3    -0    autotests/plugins/CMakeLists.txt
A  +7    -0    autotests/plugins/libzipplugin/CMakeLists.txt
A  +-    --    autotests/plugins/libzipplugin/data/backslash-in-name.zip
A  +-    --    autotests/plugins/libzipplugin/data/windows-separators.zip
A  +99   -0    autotests/plugins/libzipplugin/libziptest.cpp     [License: BSD]
A  +29   -0    autotests/plugins/libzipplugin/libziptest.h     [License: BSD]
M  +54   -8    plugins/libzipplugin/libzipplugin.cpp
M  +1    -0    plugins/libzipplugin/libzipplugin.h

https://invent.kde.org/utilities/ark/-/commit/f85038af1da827c111ae8ade723b102080dec62e

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to