OSDN Git Service

wavdec: avoid output of arbitrary chars
authorThomas Volkert <thomas@homer-conferencing.com>
Fri, 19 Dec 2014 22:39:01 +0000 (23:39 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 19 Dec 2014 22:43:58 +0000 (23:43 +0100)
use av_get_codec_tag_string() in wav_read_header() for printing the
faulty start code from riff header

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/wavdec.c

index 4b452a6..98e9787 100644 (file)
@@ -249,6 +249,7 @@ static int wav_read_header(AVFormatContext *s)
     int64_t size, av_uninit(data_size);
     int64_t sample_count = 0;
     int rf64 = 0;
+    char start_code[5];
     uint32_t tag;
     AVIOContext *pb      = s->pb;
     AVStream *st         = NULL;
@@ -272,7 +273,8 @@ static int wav_read_header(AVFormatContext *s)
         rf64 = 1;
         break;
     default:
-        av_log(s, AV_LOG_ERROR, "invalid start code %c%c%c%c in RIFF header\n", tag & 0xFF, (tag >> 8) & 0xFF, (tag >> 16) & 0xFF, (tag >> 24) & 0xFF);
+        av_get_codec_tag_string(start_code, 5, tag);
+        av_log(s, AV_LOG_ERROR, "invalid start code %s in RIFF header\n", start_code);
         return AVERROR_INVALIDDATA;
     }