diff options
author | Erik de Castro Lopo <erikd@mega-nerd.com> | 2015-02-09 17:46:59 +1100 |
---|---|---|
committer | Erik de Castro Lopo <erikd@mega-nerd.com> | 2015-02-09 13:48:21 +1100 |
commit | d618284573f4e167c183e18ebba7c287155ea341 (patch) | |
tree | 61a7d09b3841b7a02f6903f4450ed4c1fa8854bb | |
parent | fdd7a0af8cd4bb8df908c6244fc67723d2de74fd (diff) |
src/(aiff|wav).c : Add debug log info when huge unknown chunk is found.
-rw-r--r-- | src/aiff.c | 5 | ||||
-rw-r--r-- | src/wav.c | 5 |
2 files changed, 8 insertions, 2 deletions
@@ -846,7 +846,10 @@ aiff_read_header (SF_PRIVATE *psf, COMM_CHUNK *comm_fmt) default : if (chunk_size >= 0xffff0000) - done = SF_TRUE ; + { done = SF_TRUE ; + psf_log_printf (psf, "*** Unknown chunk marker (%X) at position %D with length %u. Exiting parser.\n", marker, psf_ftell (psf) - 8, chunk_size) ; + break ; + } ; if (psf_isprint ((marker >> 24) & 0xFF) && psf_isprint ((marker >> 16) & 0xFF) && psf_isprint ((marker >> 8) & 0xFF) && psf_isprint (marker & 0xFF)) @@ -647,7 +647,10 @@ wav_read_header (SF_PRIVATE *psf, int *blockalign, int *framesperblock) default : if (chunk_size >= 0xffff0000) - done = SF_TRUE ; + { done = SF_TRUE ; + psf_log_printf (psf, "*** Unknown chunk marker (%X) at position %D with length %u. Exiting parser.\n", marker, psf_ftell (psf) - 8, chunk_size) ; + break ; + } ; if (psf_isprint ((marker >> 24) & 0xFF) && psf_isprint ((marker >> 16) & 0xFF) && psf_isprint ((marker >> 8) & 0xFF) && psf_isprint (marker & 0xFF)) |