]> sourceware.org Git - lvm2.git/commitdiff
cov: check for NULL
authorZdenek Kabelac <zkabelac@redhat.com>
Thu, 14 Nov 2019 16:04:33 +0000 (17:04 +0100)
committerZdenek Kabelac <zkabelac@redhat.com>
Thu, 14 Nov 2019 17:06:42 +0000 (18:06 +0100)
Since we check for NULL pointers earlier we need
to be consistent across function - since the NULL
would applies across whole function.

When dropping 'mda' check - we are actually
already dereferencing it before - so it can't
be NULL at that places (and it's validated
before entering  _read_mda_header_and_metadata).

lib/format_text/format-text.c
lib/format_text/text_label.c
tools/pvscan.c
tools/toollib.c

index 894a71007d8c39192f653867116255f92bdc2867..f3536e74697dbe0b15c803de44db2141d469a890 100644 (file)
@@ -341,7 +341,7 @@ static struct raw_locn *_read_metadata_location_vg(struct device_area *dev_area,
         * Don't try to check existing metadata
         * if given vgname is an empty string.
         */
-       if (!*vgname)
+       if (!vgname || !*vgname)
                return rlocn;
 
        /*
index 246fb7b4addbfbc2fd8ed239daee499d76bc11ba..cb60c155a9200c7e743a700c516f903cf95d2671 100644 (file)
@@ -332,14 +332,12 @@ static int _read_mda_header_and_metadata(const struct format_type *fmt,
                log_warn("WARNING: bad metadata header on %s at %llu.",
                         dev_name(mdac->area.dev),
                         (unsigned long long)mdac->area.start);
-               if (mda)
-                       mda->header_start = mdac->area.start;
+               mda->header_start = mdac->area.start;
                *bad_fields |= BAD_MDA_HEADER;
                return 0;
        }
 
-       if (mda)
-               mda->header_start = mdah->start;
+       mda->header_start = mdah->start;
 
        mda_set_ignored(mda, rlocn_is_ignored(mdah->raw_locns));
 
index 96ef438aacd2d16f3516f22e0815b54604b5ba45..312a6330b36ca55475c05a558608c5230f463919 100644 (file)
@@ -420,7 +420,7 @@ check_duplicate:
                log_error("pvscan[%d] PV %s is duplicate for PVID %s on %d:%d and %d:%d.",
                          getpid(), dev_name(dev), dev->pvid, major, minor, file_major, file_minor);
 
-       if (file_vgname[0] && strcmp(file_vgname, vgname))
+       if (file_vgname[0] && vgname && strcmp(file_vgname, vgname))
                log_error("pvscan[%d] PV %s has unexpected VG %s vs %s.",
                          getpid(), dev_name(dev), vgname, file_vgname);
 
index bb97e1552077ad6dadd81e224720a4cd242458b2..ee2419b8c45baa50e8b43ed60d4d8efe8d8970b8 100644 (file)
@@ -4284,7 +4284,8 @@ static int _process_pvs_in_vg(struct cmd_context *cmd,
                /*
                 * When processing only specific PVs, we can quit once they've all been found.
                 */
-               if (!process_all_pvs && dm_list_empty(arg_tags) && dm_list_empty(arg_devices))
+               if (!process_all_pvs && dm_list_empty(arg_tags) &&
+                   (!arg_devices || dm_list_empty(arg_devices)))
                        break;
                log_set_report_object_name_and_id(NULL, NULL);
        }
This page took 0.049538 seconds and 5 git commands to generate.