[MMIXER]
authorJohannes Anderwald <johannes.anderwald@reactos.org>
Wed, 9 Jun 2010 16:51:16 +0000 (16:51 +0000)
committerJohannes Anderwald <johannes.anderwald@reactos.org>
Wed, 9 Jun 2010 16:51:16 +0000 (16:51 +0000)
- Handle failure of device enumeration
- Add sanity check

svn path=/trunk/; revision=47715

reactos/lib/drivers/sound/mmixer/controls.c
reactos/lib/drivers/sound/mmixer/mixer.c

index 0b2e499..36794df 100644 (file)
@@ -385,6 +385,8 @@ MMixerAddMixerSourceLine(
         SrcLine->Line.Target.wPid = MixerInfo->MixCaps.wPid;
         SrcLine->Line.Target.vDriverVersion = MixerInfo->MixCaps.vDriverVersion;
         InitializeListHead(&SrcLine->LineControlsExtraData);
+
+        ASSERT(MixerInfo->MixCaps.szPname[MAXPNAMELEN-1] == L'\0');
         wcscpy(SrcLine->Line.Target.szPname, MixerInfo->MixCaps.szPname);
 
     }
index a05f2a7..46e2c6d 100644 (file)
@@ -472,6 +472,13 @@ MMixerInitialize(
                 // enumeration has finished
                 break;
             }
+            else
+            {
+                DPRINT1("Failed to enumerate device %lu\n", DeviceIndex);
+
+                // TODO cleanup
+                return Status;
+            }
         }
         else
         {