diff options
author | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-03-12 21:44:22 +0000 |
---|---|---|
committer | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-03-12 21:44:22 +0000 |
commit | ef04decf6371c08db8c083870597e3a310a201b4 (patch) | |
tree | dc51e695b8499e601eaf1c864eb5d1016b63237b /libmpdemux | |
parent | 1a913666fc653baf4a242128e13613ffadfae65a (diff) | |
download | mpv-ef04decf6371c08db8c083870597e3a310a201b4.tar.bz2 mpv-ef04decf6371c08db8c083870597e3a310a201b4.tar.xz |
fix feature pragma length check
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17838 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux')
-rw-r--r-- | libmpdemux/asf_streaming.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/libmpdemux/asf_streaming.c b/libmpdemux/asf_streaming.c index b013eba6d5..ac58ee821f 100644 --- a/libmpdemux/asf_streaming.c +++ b/libmpdemux/asf_streaming.c @@ -680,15 +680,13 @@ static int asf_http_parse_response(asf_http_streaming_ctrl_t *asf_http_ctrl, HTT pragma += 9; end = strstr( pragma, "," ); if( end==NULL ) { - size_t s = strlen(pragma); - if(s > sizeof(features)) { - mp_msg(MSGT_NETWORK,MSGL_WARN,MSGTR_MPDEMUX_ASF_ASFHTTPParseWarnCuttedPragma,pragma,s,sizeof(features)); - len = sizeof(features); - } else { - len = s; - } + len = strlen(pragma); } else { - len = MIN((unsigned int)(end-pragma),sizeof(features)); + len = (unsigned int)(end-pragma); + } + if(len > sizeof(features) - 1) { + mp_msg(MSGT_NETWORK,MSGL_WARN,MSGTR_MPDEMUX_ASF_ASFHTTPParseWarnCuttedPragma,pragma,s,sizeof(features)); + len = sizeof(features) - 1; } strncpy( features, pragma, len ); features[len]='\0'; |