From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Buesch Date: Tue, 24 Feb 2004 20:14:37 +0000 Subject: [PATCH] udev buffer overrun fix (2nd try) Message-Id: <200402242114.37879.mbuesch@freenet.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-hotplug@vger.kernel.org Hi, This patch fixes possible buffer overruns in create_node(). --- udev-add.c.orig 2004-02-24 15:24:13.000000000 +0100 +++ udev-add.c 2004-02-24 21:10:33.000000000 +0100 @@ -146,7 +146,7 @@ int tail; strncpy(filename, udev_root, sizeof(filename)); - strncat(filename, dev->name, sizeof(filename)); + strncat(filename, dev->name, sizeof(filename) - strlen(udev_root) - 1); switch (dev->type) { case 'b': @@ -226,7 +226,7 @@ break; strncpy(filename, udev_root, sizeof(filename)); - strncat(filename, linkname, sizeof(filename)); + strncat(filename, linkname, sizeof(filename) - strlen(udev_root) - 1); dbg("symlink '%s' to node '%s' requested", filename, dev->name); if (!fake) if (strrchr(linkname, '/')) @@ -243,13 +243,15 @@ } while (linkname[i] != '\0') { if (linkname[i] = '/') - strcat(linktarget, "../"); + strncat(linktarget, "../", + sizeof(linktarget) - strlen(linktarget) - 1); i++; } if (linktarget[0] = '\0') strcpy(linktarget, "./"); - strcat(linktarget, &dev->name[tail]); + strncat(linktarget, &dev->name[tail], + sizeof(linktarget) - strlen(linktarget) - 1); /* unlink existing files to ensure that our symlink is created */ if (!fake && (lstat(filename, &stats) = 0)) { -- Regards Michael Buesch [ http://www.tuxsoft.de.vu ] ------------------------------------------------------- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id56&alloc_id438&op=click _______________________________________________ Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net Linux-hotplug-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel