[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
- From: "Jun'ichi Nomura" <j-nomura ce jp nec com>
- To: device-mapper development <dm-devel redhat com>, Alasdair Kergon <agk redhat com>
- Cc:
- Subject: [dm-devel] [PATCH] dmsetup: fix 'dmsetup status' for crypt filling '0' in wrong area
- Date: Fri, 20 Apr 2007 12:07:04 -0400
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]