public inbox for linux-um@lists.infradead.org
 help / color / mirror / Atom feed
* [PATCH] um: Fix null pointer dereference when parsing ubd commandline arguments
@ 2021-01-02 14:03 Joshua Hawking
  2021-01-02 14:08 ` Christopher Obbard
  0 siblings, 1 reply; 3+ messages in thread
From: Joshua Hawking @ 2021-01-02 14:03 UTC (permalink / raw)
  To: linux-um

From: Adam Watson (aw414141@gmail.com)

When passing one or two arguments to ubd during UML setup - i.e.
ubd0=File or ubd0=File,Backing_File - the parsing code introduced in commit
ef3ba87cb7c9 ("um: ubd: Set device serial attribute from cmdline") does
not check
whether strsep consumed the entire string without finding a delimeter
last time
it was called (and so has set str to NULL, causing the next output of strsep
on that string to be NULL) before attempting to dereference the output of it
inside the if statements. For example, with two arguments (and only 1
comma/colon), serial will be NULL, and (*serial == '\0') causes a null
pointer
dereference.

Signed-off-by: Adam Watson (aw414141@gmail.com)
Signed-off-by: Joshua Hawking (joshuahawking1@gmail.com)
Tested-by: Joshua Hawking (joshuahawking1@gmail.com)
Fixes: ef3ba87cb7c9 ("um: ubd: Set device serial attribute from cmdline")
---
--- b/arch/um/drivers/ubd_kern.c    2021-01-02 13:13:55.995018942 +0000
+++ a/arch/um/drivers/ubd_kern.c    2021-01-02 13:16:16.847023905 +0000
@@ -375,11 +375,11 @@ break_loop:
         file = NULL;
 
     backing_file = strsep(&str, ",:");
-    if (*backing_file == '\0')
+    if (backing_file && *backing_file == '\0')
         backing_file = NULL;
 
     serial = strsep(&str, ",:");
-    if (*serial == '\0')
+    if (serial && *serial == '\0')
         serial = NULL;
 
     if (backing_file && ubd_dev->no_cow) {




_______________________________________________
linux-um mailing list
linux-um@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-um

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-01-02 14:11 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-01-02 14:03 [PATCH] um: Fix null pointer dereference when parsing ubd commandline arguments Joshua Hawking
2021-01-02 14:08 ` Christopher Obbard
2021-01-02 14:11   ` Joshua Hawking

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox