From: Denys Vlasenko Date: Mon, 4 May 2009 19:59:05 +0000 (+0200) Subject: mdev: revert last wrong commit X-Git-Tag: 1_15_0~255 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=76f5e38c8228664680d915873186d891e64a3c0a;p=oweals%2Fbusybox.git mdev: revert last wrong commit Signed-off-by: Denys Vlasenko --- diff --git a/util-linux/mdev.c b/util-linux/mdev.c index 99e487532..7508930f7 100644 --- a/util-linux/mdev.c +++ b/util-linux/mdev.c @@ -101,8 +101,12 @@ static char *build_alias(char *alias, const char *device_name) return alias; } -/* mknod in /dev based on a path like "/sys/block/hda/hda1" */ -/* NB: "mdev -s" may call us many times, do not leak memory/fds! */ +/* mknod in /dev based on a path like "/sys/block/hda/hda1" + * NB1: path parameter needs to have SCRATCH_SIZE scratch bytes + * after NUL, but we promise to not mangle (IOW: to restore if needed) + * path string. + * NB2: "mdev -s" may call us many times, do not leak memory/fds! + */ static void make_device(char *path, int delete) { char *device_name; @@ -565,10 +569,7 @@ int mdev_main(int argc UNUSED_PARAM, char **argv) make_device(temp, 1); } else if (strcmp(action, "add") == 0) { - /* make_device mangles its parameter, use a copy */ - char *s = xstrdup(temp); - make_device(s, 0); - free(s); + make_device(temp, 0); if (ENABLE_FEATURE_MDEV_LOAD_FIRMWARE) { if (fw) load_firmware(fw, temp);