summaryrefslogtreecommitdiffstats
path: root/libmpdemux
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-03-12 21:44:22 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-03-12 21:44:22 +0000
commitef04decf6371c08db8c083870597e3a310a201b4 (patch)
treedc51e695b8499e601eaf1c864eb5d1016b63237b /libmpdemux
parent1a913666fc653baf4a242128e13613ffadfae65a (diff)
downloadmpv-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.c14
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';