|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] tools/Coverity: Audit of MISSING_BREAK defects
Coverity uses several heuristics to identify when one case statement
legitimately falls through into the next, and a comment as the final item in a
case statement is one heuristic (the assumption being that it is a
justification for the fallthrough).
Use this to perform an audit of defects and hide the legitimate fallthroughs.
There are two bugfixes identified in the audit, both minor:
* 'n' command line handling for gtracestat
* BKSPC handling in xentop
All other identified defaults are legitimate fallthoughs
Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Coverity-IDs: 1055464, 1055465, 1055467, 1055468, 1055481, 1055482
CC: Ian Campbell <Ian.Campbell@xxxxxxxxxx>
CC: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
CC: Wei Liu <wei.liu2@xxxxxxxxxx>
CC: Xen Coverity Team <coverity@xxxxxxx>
---
tools/libxl/xl_cmdimpl.c | 3 +++
tools/misc/gtracestat.c | 1 +
tools/misc/gtraceview.c | 1 +
tools/xenstat/xentop/xentop.c | 1 +
tools/xenstore/xenstore_client.c | 1 +
5 files changed, 7 insertions(+)
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 440db78..53c16eb 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -2752,11 +2752,14 @@ static int64_t parse_mem_size_kb(const char *mem)
switch (tolower((uint8_t)*endptr)) {
case 't':
kbytes <<= 10;
+ /* fallthrough */
case 'g':
kbytes <<= 10;
+ /* fallthrough */
case '\0':
case 'm':
kbytes <<= 10;
+ /* fallthrough */
case 'k':
break;
case 'b':
diff --git a/tools/misc/gtracestat.c b/tools/misc/gtracestat.c
index 874a043..a59e536 100644
--- a/tools/misc/gtracestat.c
+++ b/tools/misc/gtracestat.c
@@ -167,6 +167,7 @@ int main(int argc, char *argv[])
tsc2phase = atoll(optarg);
if (tsc2phase <= 0)
tsc2phase = 55800000UL;
+ break;
case 'd':
is_digest = 1;
break;
diff --git a/tools/misc/gtraceview.c b/tools/misc/gtraceview.c
index cf9287c..501f86a 100644
--- a/tools/misc/gtraceview.c
+++ b/tools/misc/gtraceview.c
@@ -1097,6 +1097,7 @@ void choose_cpus(void)
this->init();
return;
}
+ /* fallthrough */
case KEY_F(4):
exit(EXIT_SUCCESS);
}
diff --git a/tools/xenstat/xentop/xentop.c b/tools/xenstat/xentop/xentop.c
index 3062cb5..23b57f1 100644
--- a/tools/xenstat/xentop/xentop.c
+++ b/tools/xenstat/xentop/xentop.c
@@ -407,6 +407,7 @@ static int handle_key(int ch)
case KEY_BACKSPACE:
if(prompt_val_len > 0)
prompt_val[--prompt_val_len] = '\0';
+ break;
default:
if((prompt_val_len+1) < PROMPT_VAL_LEN
&& isprint(ch)) {
diff --git a/tools/xenstore/xenstore_client.c b/tools/xenstore/xenstore_client.c
index 1054f18..3d14d37 100644
--- a/tools/xenstore/xenstore_client.c
+++ b/tools/xenstore/xenstore_client.c
@@ -87,6 +87,7 @@ usage(enum mode mode, int incl_mode, const char *progname)
errx(1, "Usage: %s %s[-h] [-s] [-t] key [...]", progname, mstr);
case MODE_exists:
mstr = incl_mode ? "exists " : "";
+ /* fallthrough */
case MODE_list:
mstr = mstr ? : incl_mode ? "list " : "";
errx(1, "Usage: %s %s[-h] [-p] [-s] key [...]", progname, mstr);
--
1.7.10.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |