Blame 0023-udev-check-more-builtins-pointers-before-dereferenci.patch
|
|
fb7efbf |
From 1c6e7a4ab586ebb221002c8881e0b44560d1b09d Mon Sep 17 00:00:00 2001
|
|
|
fb7efbf |
From: Daniel Mack <daniel@zonque.org>
|
|
|
fb7efbf |
Date: Tue, 28 Jul 2015 13:58:40 +0200
|
|
|
fb7efbf |
Subject: [PATCH 23/47] udev: check more builtins[] pointers before
|
|
|
fb7efbf |
dereferencing
|
|
|
fb7efbf |
|
|
|
fb7efbf |
Fix some more locations where pointers from builtins[] are dereferenced
|
|
|
fb7efbf |
before checking. Related to 8cacf69b1.
|
|
|
fb7efbf |
---
|
|
|
fb7efbf |
src/udev/udev-builtin.c | 9 +++++++++
|
|
|
fb7efbf |
1 file changed, 9 insertions(+)
|
|
|
fb7efbf |
|
|
|
fb7efbf |
diff --git a/src/udev/udev-builtin.c b/src/udev/udev-builtin.c
|
|
|
fb7efbf |
index 88d1acf..3ebefa8 100644
|
|
|
fb7efbf |
--- a/src/udev/udev-builtin.c
|
|
|
fb7efbf |
+++ b/src/udev/udev-builtin.c
|
|
|
fb7efbf |
@@ -89,10 +89,16 @@ void udev_builtin_list(struct udev *udev) {
|
|
|
fb7efbf |
}
|
|
|
fb7efbf |
|
|
|
fb7efbf |
const char *udev_builtin_name(enum udev_builtin_cmd cmd) {
|
|
|
fb7efbf |
+ if (!builtins[cmd])
|
|
|
fb7efbf |
+ return NULL;
|
|
|
fb7efbf |
+
|
|
|
fb7efbf |
return builtins[cmd]->name;
|
|
|
fb7efbf |
}
|
|
|
fb7efbf |
|
|
|
fb7efbf |
bool udev_builtin_run_once(enum udev_builtin_cmd cmd) {
|
|
|
fb7efbf |
+ if (!builtins[cmd])
|
|
|
fb7efbf |
+ return -EOPNOTSUPP;
|
|
|
fb7efbf |
+
|
|
|
fb7efbf |
return builtins[cmd]->run_once;
|
|
|
fb7efbf |
}
|
|
|
fb7efbf |
|
|
|
fb7efbf |
@@ -116,6 +122,9 @@ int udev_builtin_run(struct udev_device *dev, enum udev_builtin_cmd cmd, const c
|
|
|
fb7efbf |
int argc;
|
|
|
fb7efbf |
char *argv[128];
|
|
|
fb7efbf |
|
|
|
fb7efbf |
+ if (!builtins[cmd])
|
|
|
fb7efbf |
+ return -EOPNOTSUPP;
|
|
|
fb7efbf |
+
|
|
|
fb7efbf |
/* we need '0' here to reset the internal state */
|
|
|
fb7efbf |
optind = 0;
|
|
|
fb7efbf |
strscpy(arg, sizeof(arg), command);
|
|
|
fb7efbf |
--
|
|
|
fb7efbf |
2.5.0
|
|
|
fb7efbf |
|