[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[dm-devel] [PATCH] dmsetup: fix 'dmsetup status' for crypt filling '0' in wrong area



Hi,

dmsetup tries to suppress encryption key of crypt target in the table
by filling '0' in params buffer.
However, the code assumes the case for showing table only and will
fill '0' beyond the params buffer when it's showing status, where
the params is "".

The patch fixes it.
The suppression is not necessary for showing status as
no encryption key is included in status line.

Thanks,
-- 
Jun'ichi Nomura, NEC Corporation of America
dmsetup tries to suppress encryption key of crypt target.
However, the code overruns the params buffer if the command
is showing 'status', in that case params is "".

---
 dmsetup/dmsetup.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Index: device-mapper.work/dmsetup/dmsetup.c
===================================================================
--- device-mapper.work.orig/dmsetup/dmsetup.c
+++ device-mapper.work/dmsetup/dmsetup.c
@@ -964,12 +964,14 @@ static int _status(int argc, char **argv
 			if (target_type) {
 
 			/* Suppress encryption key */
-			if (!_switches[SHOWKEYS_ARG] &&
+			if (cmd == DM_DEVICE_TABLE &&
+			    !_switches[SHOWKEYS_ARG] &&
 			    !strcmp(target_type, "crypt")) {
 				c = params;
 				while (*c && *c != ' ')
 					c++;
-				c++;
+				if (*c)
+					c++;
 				while (*c && *c != ' ')
 					*c++ = '0';
 			}

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]