chiark / gitweb /
[PATCH] fix stupid off-by-one bug that caused udevstart to die on x86-64 boxes.
[elogind.git] / udevstart.c
index 6f90de7d18450be31db3b65ee6d7bef676256183..3ecfd4cb61d55bab55e06d8d49287a89a9699ada 100644 (file)
@@ -94,7 +94,6 @@ static void udev_exec(const char *path, const char* subsystem)
        char nosleep[] = "UDEV_NO_SLEEP=1";
        char *env[] = { action, devpath, nosleep, NULL };
 
-       return;
        strcpy(devpath, "DEVPATH=");
        strfieldcat(devpath, path);
 
@@ -229,7 +228,7 @@ static void udev_scan_class(void)
                                continue;
 
                        snprintf(dirname, MAX_PATHLEN, "%s/%s", SYSCLASS, dent->d_name);
-                       dirname[MAX_PATHLEN] = '\0';
+                       dirname[MAX_PATHLEN-1] = '\0';
                        dir2 = opendir(dirname);
                        if (dir2 != NULL) {
                                for (dent2 = readdir(dir2); dent2 != NULL; dent2 = readdir(dir2)) {