CreateClassEnumerator() can return S_FALSE and NULL moniker if the specified category is empty or doesn't exist (and devenum implementation can do that), build_directshowfilters_tree() will crash in that case. That's not new and AFAIU should not be normally hit as the category should not be empty, but I managed to hit that on some prefix (maybe with messed up direct show registration) and the change looks simple and sure enough probably (currently it will always crash if gets S_FALSE).