From cfc1bc9218cdc3c58e676fa90b7c8745f59760dd Mon Sep 17 00:00:00 2001
From: Steve Lhomme <robux4@ycbcr.xyz>
Date: Thu, 1 Sep 2022 07:18:41 +0200
Subject: [PATCH] lua: fix usage of NULL config_GetUserDir/config_GetSysPath
 results

---
 modules/lua/vlc.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/modules/lua/vlc.c b/modules/lua/vlc.c
index 1271d570f894..ef5298d7a7bc 100644
--- a/modules/lua/vlc.c
+++ b/modules/lua/vlc.c
@@ -199,15 +199,17 @@ int vlclua_dir_list(const char *luadirname, char ***restrict listp)
     *listp = list;
 
     /* Lua scripts in user-specific data directory */
-    list = vlclua_dir_list_append(list, config_GetUserDir(VLC_USERDATA_DIR),
-                                  luadirname);
+    char *userdir = config_GetUserDir(VLC_USERDATA_DIR);
+    if (likely(userdir != NULL))
+        list = vlclua_dir_list_append(list, userdir, luadirname);
 
     char *libdir = config_GetSysPath(VLC_PKG_LIBEXEC_DIR, NULL);
     char *datadir = config_GetSysPath(VLC_PKG_DATA_DIR, NULL);
     bool both = libdir != NULL && datadir != NULL && strcmp(libdir, datadir);
 
     /* Tokenized Lua scripts in architecture-specific data directory */
-    list = vlclua_dir_list_append(list, libdir, luadirname);
+    if (libdir != NULL)
+        list = vlclua_dir_list_append(list, libdir, luadirname);
 
     /* Source Lua Scripts in architecture-independent data directory */
     if (both || libdir == NULL)
-- 
GitLab