Comment 3 for bug 1488787

Revision history for this message
In , MestreLion (mestrelion) wrote :

This is similar to bug #66605 but for xdg-icon-resource this time, and has the same cause: unquoted var expansions.

Example:
~ $ xdg-icon-resource install --novendor --size 48 "./foo bar.png" foobar
/usr/bin/xdg-icon-resource: 790: [: /home/xxx/foo: unexpected operator

A real scenario is installing icons from software zip/tarballs where the icon file is in a data dir deep down the archive tree, and paths can not be renamed as the binary executable might have the path to this data dir hardcoded.

A workaround is to copy the icon to a temp dir before using xdg-icon-resource.

The unquoted var to fix this particular case is $icon_icon_file at line 397 of xdg-icon-resource.in ( http://cgit.freedesktop.org/xdg/xdg-utils/tree/scripts/xdg-icon-resource.in#n397 ) (line 790 in 1.0.2, 953 in 1.1.0 rc3), but there are several other unquoted var occurrences in code that might also cause trouble.

I'll post 2 patches, one fixing this critical occurrence only, and another one quoting other vars I've spotted to minimize future issues.