commit b1c1c6d36cb0d6c318b68d4062f76b22d2b9d0ea
parent 5d9d64f080b718f6754dd8a23dadfba8b447ec2c
Author: wwp <subscript@free.fr>
Date: Mon, 27 Sep 2021 17:57:48 +0200
Fix CID 1491190: explicit null dereference.
Diffstat:
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git a/src/stock_pixmap.c b/src/stock_pixmap.c
@@ -800,15 +800,21 @@ static void stock_pixmap_find_themes_in_dir(GList **list, const gchar *dirname)
gchar *stock_pixmap_get_system_theme_dir_for_theme(const gchar *theme)
{
- const gchar *sep = NULL;
- if (theme && *theme)
- sep = G_DIR_SEPARATOR_S;
+ if (theme && *theme) {
#ifndef G_OS_WIN32
- return g_strconcat(PACKAGE_DATA_DIR, G_DIR_SEPARATOR_S,
- PIXMAP_THEME_DIR, sep, theme, NULL);
+ return g_strconcat(PACKAGE_DATA_DIR, G_DIR_SEPARATOR_S,
+ PIXMAP_THEME_DIR, G_DIR_SEPARATOR_S, theme, NULL);
#else
- return g_strconcat(w32_get_themes_dir(), sep, theme, NULL);
+ return g_strconcat(w32_get_themes_dir(), G_DIR_SEPARATOR_S, theme, NULL);
#endif
+ } else {
+#ifndef G_OS_WIN32
+ return g_strconcat(PACKAGE_DATA_DIR, G_DIR_SEPARATOR_S,
+ PIXMAP_THEME_DIR, NULL);
+#else
+ return g_strdup(w32_get_themes_dir());
+#endif
+ }
}
GList *stock_pixmap_themes_list_new(void)