DragonFlyBSD Kernel Audit
DF-2448 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/disk/dm/dm_ioctl.c b/sys/dev/disk/dm/dm_ioctl.c
--- a/sys/dev/disk/dm/dm_ioctl.c
+++ b/sys/dev/disk/dm/dm_ioctl.c
@@ -705,7 +705,15 @@
 	prop_dictionary_get_uint32(dm_dict, DM_IOCTL_MINOR, &minor);
 
 	cmd_array = prop_dictionary_get(dm_dict, DM_IOCTL_CMD_DATA);
+	if (cmd_array == NULL) {
+		dmdebug("%s: DM_IOCTL_CMD_DATA missing\n", __func__);
+		return EINVAL;
+	}
 	iter = prop_array_iterator(cmd_array);
+	if (iter == NULL) {
+		dmdebug("%s: prop_array_iterator failed\n", __func__);
+		return ENOMEM;
+	}
 	dm_dbg_print_flags(flags);
 
 	if ((dmv = dm_dev_lookup(name, uuid, minor)) == NULL) {