summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2022-12-22 14:47:16 +0200
committerTimo Teräs <timo.teras@iki.fi>2022-12-22 15:08:38 +0200
commitb56eeb2ce0da9256f6faacb2d3dbe7af6799fd51 (patch)
tree9a853677288101e624d0c5dcf49fa2789134dbdc
parentc1ad6763769be298ac9b4e7fa7c1bbad9e6cca1b (diff)
downloadapk-tools-b56eeb2ce0da9256f6faacb2d3dbe7af6799fd51.tar.gz
apk-tools-b56eeb2ce0da9256f6faacb2d3dbe7af6799fd51.tar.bz2
apk-tools-b56eeb2ce0da9256f6faacb2d3dbe7af6799fd51.tar.xz
apk-tools-b56eeb2ce0da9256f6faacb2d3dbe7af6799fd51.zip
apk: remove empty arguments
fixes #10848
-rw-r--r--src/apk.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/apk.c b/src/apk.c
index 5065c7e..27a9f07 100644
--- a/src/apk.c
+++ b/src/apk.c
@@ -419,6 +419,16 @@ static void setup_terminal(void)
signal(SIGPIPE, SIG_IGN);
}
+static int remove_empty_strings(int count, char **args)
+{
+ int i, j;
+ for (i = j = 0; i < count; i++) {
+ args[j] = args[i];
+ if (args[j][0]) j++;
+ }
+ return j;
+}
+
int main(int argc, char **argv)
{
void *applet_ctx = NULL;
@@ -470,6 +480,7 @@ int main(int argc, char **argv)
argc--;
argv++;
}
+ argc = remove_empty_strings(argc, argv);
apk_db_init(&db);
signal(SIGINT, on_sigint);