diff options
-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'; |