]> granicus.if.org Git - sysstat/commitdiff
iostat: Fix null pointer dereferences
authorSebastien GODARD <sysstat@users.noreply.github.com>
Sun, 22 Sep 2019 16:43:15 +0000 (18:43 +0200)
committerSebastien GODARD <sysstat@users.noreply.github.com>
Sun, 22 Sep 2019 16:43:15 +0000 (18:43 +0200)
Fix CID#349500 & CID#349501.

Signed-off-by: Sebastien GODARD <sysstat@users.noreply.github.com>
iostat.c

index dc0eb0855ba6f924d91ecf40d402a4c48d92c4ec..be65a8ebb284df239745b35df4d6f06620c5a70e 100644 (file)
--- a/iostat.c
+++ b/iostat.c
@@ -426,13 +426,13 @@ int read_sysfs_device_part_stat(int curr, char *dname)
                d = add_list_device(&dev_list, drd->d_name, 0);
                if (d != NULL) {
                        *(d->dev_stats[curr]) = sdev;
-               }
 
-               if (!d->major) {
-                       /* Get major and minor numbers for given device */
-                       if (get_major_minor_nr(d->name, &major, &minor) == 0) {
-                               d->major = major;
-                               d->minor = minor;
+                       if (!d->major) {
+                               /* Get major and minor numbers for given device */
+                               if (get_major_minor_nr(d->name, &major, &minor) == 0) {
+                                       d->major = major;
+                                       d->minor = minor;
+                               }
                        }
                }
        }
@@ -483,13 +483,13 @@ int read_sysfs_all_devices_stat(int curr)
                d = add_list_device(&dev_list, drd->d_name, 0);
                if (d != NULL) {
                        *(d->dev_stats[curr]) = sdev;
-               }
 
-               if (!d->major) {
-                       /* Get major and minor numbers for given device */
-                       if (get_major_minor_nr(d->name, &major, &minor) == 0) {
-                               d->major = major;
-                               d->minor = minor;
+                       if (!d->major) {
+                               /* Get major and minor numbers for given device */
+                               if (get_major_minor_nr(d->name, &major, &minor) == 0) {
+                                       d->major = major;
+                                       d->minor = minor;
+                               }
                        }
                }
        }