+diff -rNu linux-2.4.30/drivers/sound/sound_core.c linux-2.4.30.new/drivers/sound/sound_core.c
+--- linux-2.4.30/drivers/sound/sound_core.c 2001-10-01 05:26:08.000000000 +1000
++++ linux-2.4.30.new/drivers/sound/sound_core.c 2005-08-27 22:52:55.061719968 +1000
+@@ -174,9 +174,9 @@
+ }
+
+ if (r == low)
+- sprintf (name_buf, "%s", name);
++ snprintf (name_buf, sizeof(name_buf), "%s", name);
+ else
+- sprintf (name_buf, "%s%d", name, (r - low) / SOUND_STEP);
++ snprintf (name_buf, sizeof(name_buf), "%s%d", name, (r - low) / SOUND_STEP);
+ s->de = devfs_register (devfs_handle, name_buf,
+ DEVFS_FL_NONE, SOUND_MAJOR, s->unit_minor,
+ S_IFCHR | mode, fops, NULL);
+@@ -507,9 +507,9 @@
+ * ALSA toplevel modules for soundcards, thus we need
+ * load them at first. [Jaroslav Kysela <perex@jcu.cz>]
+ */
+- sprintf(mod, "sound-slot-%i", unit>>4);
++ snprintf(mod, sizeof(mod), "sound-slot-%i", unit>>4);
+ request_module(mod);
+- sprintf(mod, "sound-service-%i-%i", unit>>4, chain);
++ snprintf(mod, sizeof(mod), "sound-service-%i-%i", unit>>4, chain);
+ request_module(mod);
+ spin_lock(&sound_loader_lock);
+ s = __look_for_unit(chain, unit);