From 0b3617c25fc4f85c9a07cd528d44ff9a1c47b387 Mon Sep 17 00:00:00 2001 From: Josh Coalson Date: Mon, 30 Dec 2002 23:28:57 +0000 Subject: [PATCH] fix bug in checking of filename extensions --- src/flac/main.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/flac/main.c b/src/flac/main.c index 0d867f17..19c30268 100644 --- a/src/flac/main.c +++ b/src/flac/main.c @@ -1437,11 +1437,11 @@ int encode_file(const char *infilename, FLAC__bool is_first_file, FLAC__bool is_ if(!option_values.force_raw_format) { /* first set format based on name */ - if(strlen(infilename) > 3 && 0 == strcasecmp(infilename+(strlen(infilename)-4), ".wav")) + if(strlen(infilename) >= 4 && 0 == strcasecmp(infilename+(strlen(infilename)-4), ".wav")) fmt= WAV; - else if(strlen(infilename) > 3 && 0 == strcasecmp(infilename+(strlen(infilename)-4), ".aif")) + else if(strlen(infilename) >= 4 && 0 == strcasecmp(infilename+(strlen(infilename)-4), ".aif")) fmt= AIF; - else if(strlen(infilename) > 4 && 0 == strcasecmp(infilename+(strlen(infilename)-5), ".aiff")) + else if(strlen(infilename) >= 5 && 0 == strcasecmp(infilename+(strlen(infilename)-5), ".aiff")) fmt= AIF; /* attempt to guess the file type based on the first 12 bytes */ @@ -1578,7 +1578,7 @@ int decode_file(const char *infilename) if(option_values.use_ogg) treat_as_ogg = true; - else if(0 == strcasecmp(infilename+(strlen(infilename)-4), ".ogg")) + else if(strlen(infilename) >= 4 && 0 == strcasecmp(infilename+(strlen(infilename)-4), ".ogg")) treat_as_ogg = true; else treat_as_ogg = false; @@ -1614,8 +1614,8 @@ int decode_file(const char *infilename) if( option_values.force_aiff_format || - (strlen(outfilename) > 3 && 0 == strcasecmp(outfilename+(strlen(outfilename)-4), ".aif")) || - (strlen(outfilename) > 4 && 0 == strcasecmp(outfilename+(strlen(outfilename)-5), ".aiff")) + (strlen(outfilename) >= 4 && 0 == strcasecmp(outfilename+(strlen(outfilename)-4), ".aif")) || + (strlen(outfilename) >= 5 && 0 == strcasecmp(outfilename+(strlen(outfilename)-5), ".aiff")) ) retval = flac__decode_aiff(infilename, option_values.test_only? 0 : outfilename, option_values.analyze, option_values.aopts, options); else