registry: remove a few asprintf/free() calls with snprintf
authorPeter Hutterer <peter.hutterer@who-t.net>
Thu, 18 Mar 2021 23:49:24 +0000 (09:49 +1000)
committerPeter Hutterer <peter.hutterer@who-t.net>
Thu, 4 May 2023 08:46:16 +0000 (18:46 +1000)
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
src/registry.c

index e23e87b..d6181e1 100644 (file)
@@ -594,7 +594,7 @@ XKB_EXPORT bool
 rxkb_context_include_path_append_default(struct rxkb_context *ctx)
 {
     const char *home, *xdg, *root, *extra;
-    char *user_path;
+    char user_path[PATH_MAX];
     bool ret = false;
 
     if (ctx->context_state != CONTEXT_NEW) {
@@ -606,26 +606,17 @@ rxkb_context_include_path_append_default(struct rxkb_context *ctx)
 
     xdg = rxkb_context_getenv(ctx, "XDG_CONFIG_HOME");
     if (xdg != NULL) {
-        user_path = asprintf_safe("%s/xkb", xdg);
-        if (user_path) {
+        if (snprintf_safe(user_path, sizeof(user_path), "%s/xkb", xdg))
             ret |= rxkb_context_include_path_append(ctx, user_path);
-            free(user_path);
-        }
     } else if (home != NULL) {
         /* XDG_CONFIG_HOME fallback is $HOME/.config/ */
-        user_path = asprintf_safe("%s/.config/xkb", home);
-        if (user_path) {
+        if (snprintf_safe(user_path, sizeof(user_path), "%s/.config/xkb", home))
             ret |= rxkb_context_include_path_append(ctx, user_path);
-            free(user_path);
-        }
     }
 
     if (home != NULL) {
-        user_path = asprintf_safe("%s/.xkb", home);
-        if (user_path) {
+        if (snprintf_safe(user_path, sizeof(user_path), "%s/.xkb", home))
             ret |= rxkb_context_include_path_append(ctx, user_path);
-            free(user_path);
-        }
     }
 
     extra = rxkb_context_getenv(ctx, "XKB_CONFIG_EXTRA_PATH");