From 55a81a3189d42385a6cfcd65bdafe833123928a7 Mon Sep 17 00:00:00 2001 From: Miroslav Cimerman Date: Tue, 22 Apr 2025 12:07:30 +0200 Subject: [PATCH] uspace/app/blkdump: fix argv null deref --- uspace/app/blkdump/blkdump.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/uspace/app/blkdump/blkdump.c b/uspace/app/blkdump/blkdump.c index 170dbfd1d2..beafdee2c8 100644 --- a/uspace/app/blkdump/blkdump.c +++ b/uspace/app/blkdump/blkdump.c @@ -94,7 +94,7 @@ int main(int argc, char **argv) relative = true; } - if (str_cmp(*argv, "--offset") == 0) { + if (*argv && str_cmp(*argv, "--offset") == 0) { --argc; ++argv; if (*argv == NULL) { @@ -114,7 +114,7 @@ int main(int argc, char **argv) ++argv; } - if (str_cmp(*argv, "--count") == 0) { + if (*argv && str_cmp(*argv, "--count") == 0) { --argc; ++argv; if (*argv == NULL) { @@ -135,6 +135,12 @@ int main(int argc, char **argv) } devname: + if (*argv == NULL) { + printf(NAME ": Error, argument missing (device_name).\n"); + syntax_print(); + return 1; + } + if (argc != 1) { printf(NAME ": Error, unexpected argument.\n"); syntax_print();