nixpkgs-suyu/pkgs/applications/graphics/hugin/dont-crash-if-XDG_DATA_DIRS-not-set-edfddc6070ca6d4223d359fb4b38273a5aed2f2d.patch
Adam Joseph ccdfaa8de7 hugin: cherrypick fix for segfault on empty XDG_DATA_DIR
Hugin segfaults if the environment variable XDG_DATA_DIR is unset
(rather than being the empty string).  Upstream has committed a fix
in edfddc6070ca6d4223d359fb4b38273a5aed2f2d but has not released it
(hugin releases are *very* infrequent).

Let's cherry-pick the fix since it might be a while before they
manage another release.
2022-12-05 22:28:03 -08:00

14 lines
601 B
Diff

--- a/src/hugin_base/hugin_utils/utils.cpp 2022-12-05 22:19:26.873574924 -0800
+++ b/src/hugin_base/hugin_utils/utils.cpp 2022-12-05 22:19:09.069575641 -0800
@@ -472,9 +472,9 @@
#else
#ifdef USE_XDG_DIRS
char *xdgDataDir = getenv("XDG_DATA_HOME");
- if (strlen(xdgDataDir) == 0)
+ if (xdgDataDir == NULL || strlen(xdgDataDir) == 0)
{
- // no XDG_DATA_HOME enviroment variable set
+ // no XDG_DATA_HOME enviroment variable set or empty variable
// use $HOME/.local/share instead
const std::string homeDir = GetHomeDir();
if (homeDir.empty())