X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibudev%2Flibudev-enumerate.c;h=4e6e47cdeb237a3629f8b1188ed19404dcbc6f69;hb=ce06fdfb3de7a6591041828361f8d10c04a4677e;hp=8146f27e4f5c0c1acd4bf21b1a81a6ab3dd113fe;hpb=6faa3dcbb8c2c9d89b23a39ca9be258c453255d9;p=elogind.git diff --git a/src/libudev/libudev-enumerate.c b/src/libudev/libudev-enumerate.c index 8146f27e4..4e6e47cde 100644 --- a/src/libudev/libudev-enumerate.c +++ b/src/libudev/libudev-enumerate.c @@ -20,14 +20,12 @@ #include #include #include -#include #include #include #include #include #include #include -#include #include "libudev.h" #include "libudev-private.h" @@ -83,7 +81,7 @@ _public_ struct udev_enumerate *udev_enumerate_new(struct udev *udev) if (udev == NULL) return NULL; - udev_enumerate = calloc(1, sizeof(struct udev_enumerate)); + udev_enumerate = new0(struct udev_enumerate, 1); if (udev_enumerate == NULL) return NULL; udev_enumerate->refcount = 1; @@ -122,7 +120,7 @@ _public_ struct udev_enumerate *udev_enumerate_ref(struct udev_enumerate *udev_e * Drop a reference of an enumeration context. If the refcount reaches zero, * all resources of the enumeration context will be released. * - * Returns: the passed enumeration context if it has still an active reference, or #NULL otherwise. + * Returns: #NULL **/ _public_ struct udev_enumerate *udev_enumerate_unref(struct udev_enumerate *udev_enumerate) { @@ -132,7 +130,7 @@ _public_ struct udev_enumerate *udev_enumerate_unref(struct udev_enumerate *udev return NULL; udev_enumerate->refcount--; if (udev_enumerate->refcount > 0) - return udev_enumerate; + return NULL; udev_list_cleanup(&udev_enumerate->sysattr_match_list); udev_list_cleanup(&udev_enumerate->sysattr_nomatch_list); udev_list_cleanup(&udev_enumerate->subsystem_match_list); @@ -276,7 +274,7 @@ _public_ struct udev_list_entry *udev_enumerate_get_list_entry(struct udev_enume size_t move_later_prefix = 0; udev_list_cleanup(&udev_enumerate->devices_list); - qsort(udev_enumerate->devices, udev_enumerate->devices_cur, sizeof(struct syspath), syspath_cmp); + qsort_safe(udev_enumerate->devices, udev_enumerate->devices_cur, sizeof(struct syspath), syspath_cmp); max = udev_enumerate->devices_cur; for (i = 0; i < max; i++) {