summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErik de Castro Lopo <erikd@mega-nerd.com>2015-02-09 17:46:59 +1100
committerErik de Castro Lopo <erikd@mega-nerd.com>2015-02-09 13:48:21 +1100
commitd618284573f4e167c183e18ebba7c287155ea341 (patch)
tree61a7d09b3841b7a02f6903f4450ed4c1fa8854bb
parentfdd7a0af8cd4bb8df908c6244fc67723d2de74fd (diff)
src/(aiff|wav).c : Add debug log info when huge unknown chunk is found.
-rw-r--r--src/aiff.c5
-rw-r--r--src/wav.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/src/aiff.c b/src/aiff.c
index 88716ee..28cc531 100644
--- a/src/aiff.c
+++ b/src/aiff.c
@@ -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))
diff --git a/src/wav.c b/src/wav.c
index 4d6ca25..d7e72ea 100644
--- a/src/wav.c
+++ b/src/wav.c
@@ -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))