[PATCH] Squash coverity warning for REVERSE_INULL in dump_note_entry_p

Keith Seitz keiths@redhat.com
Wed Nov 18 21:06:09 GMT 2020


Coverity detected a "defect" in dump_noe_entry_p in linux-tdep.c:

  static int
  dump_note_entry_p (filter_flags filterflags, const struct smaps_vmflags *v,
                  int maybe_private_p, int mapping_anon_p, int mapping_file_p,
                  const char *filename, ULONGEST addr, ULONGEST offset)
  {
    /* vDSO and vsyscall mappings will end up in the core file.  Don't
       put them in the NT_FILE note.  */
    if (strcmp ("[vdso]", filename) == 0
        || strcmp ("[vsyscall]", filename) == 0)
      return 0;

    /* Otherwise, any other file-based mapping should be placed in the
       note.  */
    return filename != nullptr;
  }

Those strcmp's will derefernce `filename' so there is little point
to checking whether it is non-NULL or not;  we would have already
segfaulted.  It also cannot be nullptr because its value is read directly
from /proc/PID/maps. The "worst" it can be is an empty string.

gdb/ChangeLog
2020-11-18  Keith Seitz  <keiths@redhat.com>

	* linux-tdep.c (dump_note_entry_p): Return true instead of
	checking `filename'.
---
 gdb/ChangeLog    | 5 +++++
 gdb/linux-tdep.c | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/gdb/linux-tdep.c b/gdb/linux-tdep.c
index bacb61398f..8f7bbd5c23 100644
--- a/gdb/linux-tdep.c
+++ b/gdb/linux-tdep.c
@@ -742,7 +742,7 @@ dump_note_entry_p (filter_flags filterflags, const struct smaps_vmflags *v,
 
   /* Otherwise, any other file-based mapping should be placed in the
      note.  */
-  return filename != nullptr;
+  return 1;
 }
 
 /* Implement the "info proc" command.  */
-- 
2.26.2



More information about the Gdb-patches mailing list