Use vfork()/execvp() instead of system().
[oweals/opkg-lede.git] / libopkg / opkg_cmd.c
index b86e670043daeaef8491b85a0df58dcec64b66e9..a93483fbda9e49fbf545d8da755b824c5224ac68 100644 (file)
@@ -340,7 +340,8 @@ static int opkg_finalize_intercepts(opkg_intercept_t ctx)
            
            sprintf_alloc (&path, "%s/%s", ctx->statedir, de->d_name);
            if (access (path, X_OK) == 0) {
-               xsystem (path);
+               const char *argv[] = {"sh", "-c", path, NULL};
+               xsystem (argv);
            }
            free (path);
        }