sd-device: use qsort_safe() (#10099)
authorYu Watanabe <watanabe.yu+github@gmail.com>
Sun, 16 Sep 2018 14:46:58 +0000 (23:46 +0900)
committerGitHub <noreply@github.com>
Sun, 16 Sep 2018 14:46:58 +0000 (23:46 +0900)
The number of found devices may be zero. So, let's use qsort_safe().

Follow-up for 0a1665890cec06032a17c16206e9f519ca88446e.
Fixes #10096.

src/libsystemd/sd-device/device-enumerator.c

index 3f7ead2..0e3915f 100644 (file)
@@ -830,7 +830,7 @@ int device_enumerator_scan_devices(sd_device_enumerator *enumerator) {
                         r = k;
         }
 
-        qsort(enumerator->devices, enumerator->n_devices, sizeof(sd_device *), device_compare);
+        qsort_safe(enumerator->devices, enumerator->n_devices, sizeof(sd_device *), device_compare);
 
         enumerator->scan_uptodate = true;
         enumerator->type = DEVICE_ENUMERATION_TYPE_DEVICES;
@@ -914,7 +914,7 @@ int device_enumerator_scan_subsystems(sd_device_enumerator *enumerator) {
                 }
         }
 
-        qsort(enumerator->devices, enumerator->n_devices, sizeof(sd_device *), device_compare);
+        qsort_safe(enumerator->devices, enumerator->n_devices, sizeof(sd_device *), device_compare);
 
         enumerator->scan_uptodate = true;
         enumerator->type = DEVICE_ENUMERATION_TYPE_SUBSYSTEMS;