aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2011-02-14 09:55:14 -0500
committerMichael Niedermayer <michaelni@gmx.at>2011-02-14 23:59:55 +0100
commite84314515ac39543641cd148a33b155218df6a74 (patch)
tree21a2f4e63084357c026bd82a577bde807c863682
parent30391c6b5c42cd54f04031e5b0fe517b08142274 (diff)
downloadffmpeg-e84314515ac39543641cd148a33b155218df6a74.tar.gz
mmst: fix reading uninitialized data for ping packets.
Fixes errors after a few minutes (first ping) when playing back mmst://wm.bbc.co.uk/wms/bbc7coyopa/bbc7_-_friday_0430.wma (cherry picked from commit 275189a2bd71cf49d66374c44d3de2262d323460)
-rw-r--r--libavformat/mmst.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/libavformat/mmst.c b/libavformat/mmst.c
index ad87bbf250..a2b55b5c8e 100644
--- a/libavformat/mmst.c
+++ b/libavformat/mmst.c
@@ -290,8 +290,7 @@ static MMSSCPacketType get_tcp_server_response(MMSTContext *mmst)
return read_result < 0 ? read_result : AVERROR_IO;
}
packet_type= AV_RL16(mms->in_buffer+36);
- hr = AV_RL32(mms->in_buffer + 40);
- if (hr) {
+ if (read_result >= 44 && (hr = AV_RL32(mms->in_buffer + 40))) {
av_log(NULL, AV_LOG_ERROR,
"Server sent a message with packet type 0x%x and error status code 0x%08x\n", packet_type, hr);
return AVERROR_UNKNOWN;