Calling ExtAudioFileDispose() on a large MP4 audio file causes a crash
Calling ExtAudioFileDispose() on a large MP4 audio file causes a crash
- Subject: Calling ExtAudioFileDispose() on a large MP4 audio file causes a crash
- From: Rob Robson <email@hidden>
- Date: Thu, 5 Nov 2009 18:48:55 +0200
Calling ExtAudioFileDispose() on a > 2 hour large MP4 audio file causes a crash.
* ExtAudioFileDispose() calls AudioFileClose()
* AudioFileClose() calls MP4AudioFile::Close()
* As part of closing the mp4 file, MP4AudioFile::FillGaplessString() is called
* MP4AudioFile::FillGaplessString() calls UInt32ToHexString with a sufficiently large value (value >= 0x10000000; see NOTES below)
* UInt32ToHexString() calls sprintf() with a too-small stack-allocated buffer
* At the end of UInt32ToHexString(), __stack_chk_guard is found to have been altered, and __stack_chk_fail() is called.
* __stack_chk_fail() logs a message and calls __abort(), which terminates the process.
0 libSystem.B.dylib 0x92978912 __kill + 10
1 libSystem.B.dylib 0x92978904 kill$UNIX2003 + 32
2 libSystem.B.dylib 0x92a0bb99 raise + 26
3 libSystem.B.dylib 0x92a21be5 __abort + 124
4 libSystem.B.dylib 0x92a04928 release_file_streams_for_task + 0
5 ....audio.toolbox.AudioToolbox 0x96996497 UInt32ToHexString(char*, unsigned long, unsigned long) + 183
6 ....audio.toolbox.AudioToolbox 0x96996556 MP4AudioFile::FillGaplessString(char*) + 110
7 ....audio.toolbox.AudioToolbox 0x969993ed MP4AudioFile::Close() + 627
8 ....audio.toolbox.AudioToolbox 0x968f6a25 AudioFileClose + 77
9 ....audio.toolbox.AudioToolbox 0x96959ef6 ExtAudioFile::Close() + 206
10 ....audio.toolbox.AudioToolbox 0x9695a03e ExtAudioFile::~ExtAudioFile() + 40
11 ....audio.toolbox.AudioToolbox 0x9694f89c XExtAudioFile::~XExtAudioFile() + 92
12 ....audio.toolbox.AudioToolbox 0x9694f554 ExtAudioFileDispose + 37
Anyone figured out a workaround?
Best Regards,
Robin
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden