Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Commit

Permalink
Browse files Browse the repository at this point in the history
Fixed stack smashing crash when using the GCC compiled DLL with Visua…
…l Studio.
  • Loading branch information
slouken committed Jul 30, 2013
1 parent e2562ca commit a2ddf28
Showing 1 changed file with 12 additions and 1 deletion.
13 changes: 12 additions & 1 deletion include/SDL_audio.h
Expand Up @@ -183,6 +183,17 @@ typedef void (SDLCALL * SDL_AudioFilter) (struct SDL_AudioCVT * cvt,
/**
* A structure to hold a set of audio conversion filters and buffers.
*/
#ifdef __GNUC__
/* This structure is 84 bytes on 32-bit architectures, make sure GCC doesn't
pad it out to 88 bytes to guarantee ABI compatibility between compilers.
vvv
The next time we rev the ABI, make sure to size the ints and add padding.
*/
#define SDL_AUDIOCVT_PACKED __attribute__((packed))
#else
#define SDL_AUDIOCVT_PACKED
#endif
/* */
typedef struct SDL_AudioCVT
{
int needed; /**< Set to 1 if conversion possible */
Expand All @@ -196,7 +207,7 @@ typedef struct SDL_AudioCVT
double len_ratio; /**< Given len, final size is len*len_ratio */
SDL_AudioFilter filters[10]; /**< Filter list */
int filter_index; /**< Current audio conversion function */
} SDL_AudioCVT;
} SDL_AUDIOCVT_PACKED SDL_AudioCVT;


/* Function prototypes */
Expand Down

0 comments on commit a2ddf28

Please sign in to comment.