From 9078eba062f5e0463d4029aa42b7b0026f42bed3 Mon Sep 17 00:00:00 2001 From: Zhentan Feng Date: Tue, 20 Jul 2010 15:01:06 +0000 Subject: [PATCH] Check the status code of each server responses, and fail if it indicates a problem. Patch by Zhentan Feng . Originally committed as revision 24358 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/mmst.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libavformat/mmst.c b/libavformat/mmst.c index 75fb4c6346..7a922bfceb 100644 --- a/libavformat/mmst.c +++ b/libavformat/mmst.c @@ -260,6 +260,7 @@ static MMSSCPacketType get_tcp_server_response(MMSContext *mms) read_result= url_read_complete(mms->mms_hd, mms->in_buffer+8, 4); if(read_result == 4) { int length_remaining= AV_RL32(mms->in_buffer+8) + 4; + int hr; dprintf(NULL, "Length remaining is %d\n", length_remaining); // read the rest of the packet. @@ -277,6 +278,11 @@ static MMSSCPacketType get_tcp_server_response(MMSContext *mms) dprintf(NULL, "read for packet type failed%d!\n", read_result); return -1; } + hr = AV_RL32(mms->in_buffer + 40); + if (hr) { + dprintf(NULL, "The server side send back error code:0x%x\n", hr); + return -1; + } } else { dprintf(NULL, "read for length remaining failed%d!\n", read_result); return -1;