pcm: Fix segfault with 32bit libs

The recent rearrangement of header inclusion order caused a regression
showing segfaults on 32bit Arm.  The primary reason is the
inconsistent compile condition depending on the inclusion of config.h;
while most of other code include pcm_local.h (that implicitly includes
config.h) at first, pcm_direct.c doesn't do it, hence the access with
direct plugins crashes.

For fixing it, we need to include config.h at the beginning.  But,
it's better to include pcm_local.h for all relevant code for
consistency.  The patch does it, and also it adds the guard in
pcm_local.h for double inclusions.

Fixes: ad3a8b8b31 ("reshuffle included files to include config.h as first")
Link: https://github.com/alsa-project/alsa-lib/issues/352
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Takashi Iwai 2023-09-09 17:42:03 +02:00
parent 10bd599970
commit 0e3dfb9f70
6 changed files with 10 additions and 1 deletions

View file

@ -26,6 +26,7 @@
*
*/
#include "pcm_local.h"
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>