aboutsummaryrefslogtreecommitdiffstats
path: root/main/busybox/0012-microcom-segfault.patch
blob: 4789079b354b5080d1c0aaab47e051c43f64ca66 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
From fd8a0116a29ea4014fac7fbdba2636fc7b51ffc2 Mon Sep 17 00:00:00 2001
From: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
Date: Wed, 2 Aug 2017 23:36:08 +0200
Subject: [PATCH] miscutils/microcom: Fixed segfault

microcom did not check if required parameter TTY is present. Thus,
bb_basename() was called with a NULL pointer if TTY was missing.
This commit adds the missing check.
---
 miscutils/microcom.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/miscutils/microcom.c b/miscutils/microcom.c
index 14b9f3baf..38f6425c1 100644
--- a/miscutils/microcom.c
+++ b/miscutils/microcom.c
@@ -78,6 +78,11 @@ int microcom_main(int argc UNUSED_PARAM, char **argv)
 //	argc -= optind;
 	argv += optind;
 
+	if (*argv == NULL){
+		bb_show_usage();
+		return EXIT_FAILURE;
+	}
+
 	// try to create lock file in /var/lock
 	device_lock_file = (char *)bb_basename(argv[0]);
 	device_lock_file = xasprintf("/var/lock/LCK..%s", device_lock_file);
-- 
2.13.3