Fix uninitialized variable in cubeb_enumerate_devices #829
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I was getting some crashes in cubeb_enumerate_devices using the ALSA backend. I looked into it and found that snd_pcm_open was returning an error code, which caused alsa_enumerate_devices to return before initializing the collection out parameter. This caused the logging loop at the bottom of cubeb_enumerate_devices to read uninitialized data for collection->count.
The documentation doesn't seem to mention anything about having to initialize the collection parameter before calling cubeb_enumerate_devices, and your test code doesn't do so either, so I concluded that this was a bug in Cubeb.
I decided to fix this by zeroing out the collection object because that makes it somewhat consistent with the function below.
Now to figure out how to fix my ALSA...