From 1ab163ec071130aef814c262f109b1ac4721d054 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Mon, 14 May 2012 15:44:41 +0200 Subject: maint: add assertions to placate static analysis tools A static analysis tool (http://labs.oracle.com/projects/parfait/) produced some false positive diagnostics. Add assertions to help it understand that the code is correct. * src/stty.c: Include . (display_changed): Add an assertion to placate parfait. (display_all): Likewise. * src/sort.c: Include . (main): Add an assertion to placate parfait. * src/fmt.c: Include . (get_paragraph): Add an assertion to placate parfait. --- src/stty.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/stty.c') diff --git a/src/stty.c b/src/stty.c index eb07f853f..a3fc3dd39 100644 --- a/src/stty.c +++ b/src/stty.c @@ -52,6 +52,7 @@ #endif #include #include +#include #include "system.h" #include "error.h" @@ -1538,6 +1539,12 @@ display_changed (struct termios *mode) bitsp = mode_type_flag (mode_info[i].type, mode); mask = mode_info[i].mask ? mode_info[i].mask : mode_info[i].bits; + + /* bitsp would be NULL only for "combination" modes, yet those + are filtered out above via the OMIT flag. Tell static analysis + tools that it's ok to dereference bitsp here. */ + assert (bitsp); + if ((*bitsp & mask) == mode_info[i].bits) { if (mode_info[i].flags & SANE_UNSET) @@ -1615,6 +1622,7 @@ display_all (struct termios *mode, char const *device_name) bitsp = mode_type_flag (mode_info[i].type, mode); mask = mode_info[i].mask ? mode_info[i].mask : mode_info[i].bits; + assert (bitsp); /* See the identical assertion and comment above. */ if ((*bitsp & mask) == mode_info[i].bits) wrapf ("%s", mode_info[i].name); else if (mode_info[i].flags & REV) -- cgit v1.2.3-54-g00ecf