]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - src/udev/udevadm-info.c
udevadm: add more assertions
[thirdparty/systemd.git] / src / udev / udevadm-info.c
index e30801865ec4c157f12fe8895524e8cd679da1a0..5ae33e101ae17d27089028d38edc6f6618a3c30c 100644 (file)
@@ -47,6 +47,8 @@ static const char *arg_export_prefix = NULL;
 static usec_t arg_wait_for_initialization_timeout = 0;
 
 static bool skip_attribute(const char *name) {
+        assert(name);
+
         /* Those are either displayed separately or should not be shown at all. */
         return STR_IN_SET(name,
                           "uevent",
@@ -66,6 +68,9 @@ typedef struct SysAttr {
 STATIC_DESTRUCTOR_REGISTER(arg_properties, strv_freep);
 
 static int sysattr_compare(const SysAttr *a, const SysAttr *b) {
+        assert(a);
+        assert(b);
+
         return strcmp(a->name, b->name);
 }
 
@@ -75,6 +80,8 @@ static int print_all_attributes(sd_device *device, bool is_parent) {
         size_t n_items = 0;
         int r;
 
+        assert(device);
+
         value = NULL;
         (void) sd_device_get_devpath(device, &value);
         printf("  looking at %sdevice '%s':\n", is_parent ? "parent " : "", strempty(value));
@@ -139,6 +146,8 @@ static int print_device_chain(sd_device *device) {
         sd_device *child, *parent;
         int r;
 
+        assert(device);
+
         printf("\n"
                "Udevadm info starts with the device specified by the devpath and then\n"
                "walks up the chain of parent devices. It prints for every device\n"
@@ -164,6 +173,8 @@ static int print_record(sd_device *device) {
         const char *str, *val;
         int i;
 
+        assert(device);
+
         (void) sd_device_get_devpath(device, &str);
         printf("P: %s\n", str);
 
@@ -190,6 +201,8 @@ static int print_record(sd_device *device) {
 static int stat_device(const char *name, bool export, const char *prefix) {
         struct stat statbuf;
 
+        assert(name);
+
         if (stat(name, &statbuf) != 0)
                 return -errno;
 
@@ -229,11 +242,11 @@ static int export_devices(void) {
 }
 
 static void cleanup_dir(DIR *dir, mode_t mask, int depth) {
+        assert(dir);
+
         if (depth <= 0)
                 return;
 
-        assert(dir);
-
         FOREACH_DIRENT_ALL(dent, dir, break) {
                 struct stat stats;
 
@@ -389,10 +402,10 @@ static int query_device(QueryType query, sd_device* device) {
 
         case QUERY_ALL:
                 return print_record(device);
-        }
 
-        assert_not_reached();
-        return 0;
+        default:
+                assert_not_reached();
+        }
 }
 
 static int help(void) {