From a7e58af961e0c48435e5178d1806d51c3211947b Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Wed, 9 Jun 2010 16:51:16 +0000 Subject: [PATCH] [MMIXER] - Handle failure of device enumeration - Add sanity check svn path=/trunk/; revision=47715 --- reactos/lib/drivers/sound/mmixer/controls.c | 2 ++ reactos/lib/drivers/sound/mmixer/mixer.c | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/reactos/lib/drivers/sound/mmixer/controls.c b/reactos/lib/drivers/sound/mmixer/controls.c index 0b2e499f1d8..36794dfc69a 100644 --- a/reactos/lib/drivers/sound/mmixer/controls.c +++ b/reactos/lib/drivers/sound/mmixer/controls.c @@ -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); } diff --git a/reactos/lib/drivers/sound/mmixer/mixer.c b/reactos/lib/drivers/sound/mmixer/mixer.c index a05f2a77122..46e2c6d8711 100644 --- a/reactos/lib/drivers/sound/mmixer/mixer.c +++ b/reactos/lib/drivers/sound/mmixer/mixer.c @@ -472,6 +472,13 @@ MMixerInitialize( // enumeration has finished break; } + else + { + DPRINT1("Failed to enumerate device %lu\n", DeviceIndex); + + // TODO cleanup + return Status; + } } else {