X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=udev.c;h=bf2eb373f82765b6ec77c10f0c43f68c5b465d07;hp=76de8181d17e6c1fcba9095674477da03ab93988;hb=63f61c5cf639953aa38e025485919b0aa1c49b59;hpb=6c18b1fb8784606c83adab89e306534d3b943aa3 diff --git a/udev.c b/udev.c index 76de8181d..bf2eb373f 100644 --- a/udev.c +++ b/udev.c @@ -32,6 +32,7 @@ #include #include "libsysfs/sysfs/libsysfs.h" +#include "udev_libc_wrapper.h" #include "udev.h" #include "udev_utils.h" #include "udev_sysfs.h" @@ -99,7 +100,7 @@ int main(int argc, char *argv[], char *envp[]) struct sysfs_class_device *class_dev; struct sysfs_device *devices_dev; struct udevice udev; - char path[SYSFS_PATH_MAX]; + char path[PATH_SIZE]; const char *error; const char *action; const char *devpath; @@ -130,17 +131,6 @@ int main(int argc, char *argv[], char *envp[]) /* trigger timeout to prevent hanging processes */ alarm(ALARM_TIMEOUT); - if (strstr(argv[0], "udevstart") || (argc == 2 && strstr(argv[1], "udevstart"))) { - dbg("udevstart"); - - /* disable all logging, as it's much too slow on some facilities */ - udev_log = 0; - - namedev_init(); - retval = udev_start(); - goto exit; - } - /* let the executed programs know if we handle the whole hotplug event */ managed_event = manage_hotplug_event(); if (managed_event) @@ -175,7 +165,8 @@ int main(int argc, char *argv[], char *envp[]) goto hotplug; } - snprintf(path, SYSFS_PATH_MAX, "%s%s", sysfs_path, udev.devpath); + snprintf(path, sizeof(path), "%s%s", sysfs_path, udev.devpath); + path[sizeof(path)-1] = '\0'; class_dev = wait_class_device_open(path); if (class_dev == NULL) { dbg ("open class device failed"); @@ -217,7 +208,8 @@ int main(int argc, char *argv[], char *envp[]) /* wait for sysfs */ dbg("devices add"); - snprintf(path, SYSFS_PATH_MAX, "%s%s", sysfs_path, devpath); + snprintf(path, sizeof(path), "%s%s", sysfs_path, devpath); + path[sizeof(path)-1] = '\0'; devices_dev = wait_devices_device_open(path); if (!devices_dev) { dbg("devices device unavailable (probably remove has beaten us)"); @@ -240,7 +232,6 @@ hotplug: if (udev_hotplug_d && managed_event) udev_multiplex_directory(&udev, HOTPLUGD_DIR, HOTPLUG_SUFFIX); -exit: logging_close(); return retval; }