Update of /cvsroot/alsa/alsa-lib/src/pcm
In directory sc8-pr-cvs1:/tmp/cvs-serv20544

Modified Files:
        pcm_dmix.c pcm_dshare.c pcm_dsnoop.c pcm_null.c 
Log Message:
fixed dmix crashes by Clemens Ladisch <[EMAIL PROTECTED]>:

  pcm->name can be NULL (when an unnamed pcm node is embedded in another
  pcm)



Index: pcm_dmix.c
===================================================================
RCS file: /cvsroot/alsa/alsa-lib/src/pcm/pcm_dmix.c,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -r1.40 -r1.41
--- pcm_dmix.c  25 Jul 2003 17:02:03 -0000      1.40
+++ pcm_dmix.c  7 Aug 2003 14:20:32 -0000       1.41
@@ -414,9 +414,11 @@
        info->stream = pcm->stream;
        info->card = -1;
        /* FIXME: fill this with something more useful: we know the hardware name */
-       strncpy(info->id, pcm->name, sizeof(info->id));
-       strncpy(info->name, pcm->name, sizeof(info->name));
-       strncpy(info->subname, pcm->name, sizeof(info->subname));
+       if (pcm->name) {
+               strncpy(info->id, pcm->name, sizeof(info->id));
+               strncpy(info->name, pcm->name, sizeof(info->name));
+               strncpy(info->subname, pcm->name, sizeof(info->subname));
+       }
        info->subdevices_count = 1;
        return 0;
 }

Index: pcm_dshare.c
===================================================================
RCS file: /cvsroot/alsa/alsa-lib/src/pcm/pcm_dshare.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- pcm_dshare.c        25 Jul 2003 17:02:03 -0000      1.7
+++ pcm_dshare.c        7 Aug 2003 14:20:32 -0000       1.8
@@ -201,9 +201,11 @@
        info->stream = pcm->stream;
        info->card = -1;
        /* FIXME: fill this with something more useful: we know the hardware name */
-       strncpy(info->id, pcm->name, sizeof(info->id));
-       strncpy(info->name, pcm->name, sizeof(info->name));
-       strncpy(info->subname, pcm->name, sizeof(info->subname));
+       if (pcm->name) {
+               strncpy(info->id, pcm->name, sizeof(info->id));
+               strncpy(info->name, pcm->name, sizeof(info->name));
+               strncpy(info->subname, pcm->name, sizeof(info->subname));
+       }
        info->subdevices_count = 1;
        return 0;
 }

Index: pcm_dsnoop.c
===================================================================
RCS file: /cvsroot/alsa/alsa-lib/src/pcm/pcm_dsnoop.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- pcm_dsnoop.c        25 Jul 2003 17:02:03 -0000      1.7
+++ pcm_dsnoop.c        7 Aug 2003 14:20:32 -0000       1.8
@@ -184,9 +184,11 @@
        info->stream = pcm->stream;
        info->card = -1;
        /* FIXME: fill this with something more useful: we know the hardware name */
-       strncpy(info->id, pcm->name, sizeof(info->id));
-       strncpy(info->name, pcm->name, sizeof(info->name));
-       strncpy(info->subname, pcm->name, sizeof(info->subname));
+       if (pcm->name) {
+               strncpy(info->id, pcm->name, sizeof(info->id));
+               strncpy(info->name, pcm->name, sizeof(info->name));
+               strncpy(info->subname, pcm->name, sizeof(info->subname));
+       }
        info->subdevices_count = 1;
        return 0;
 }

Index: pcm_null.c
===================================================================
RCS file: /cvsroot/alsa/alsa-lib/src/pcm/pcm_null.c,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -r1.48 -r1.49
--- pcm_null.c  25 Jul 2003 17:02:04 -0000      1.48
+++ pcm_null.c  7 Aug 2003 14:20:32 -0000       1.49
@@ -70,9 +70,11 @@
        memset(info, 0, sizeof(*info));
        info->stream = pcm->stream;
        info->card = -1;
-       strncpy(info->id, pcm->name, sizeof(info->id));
-       strncpy(info->name, pcm->name, sizeof(info->name));
-       strncpy(info->subname, pcm->name, sizeof(info->subname));
+       if (pcm->name) {
+               strncpy(info->id, pcm->name, sizeof(info->id));
+               strncpy(info->name, pcm->name, sizeof(info->name));
+               strncpy(info->subname, pcm->name, sizeof(info->subname));
+       }
        info->subdevices_count = 1;
        return 0;
 }



-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
Alsa-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-cvslog

Reply via email to