# HG changeset patch # User reimar # Date 1142199862 0 # Node ID eabc94f3018389e5a3abf225936121bbd1592d06 # Parent 71c7c0b023965cb85fe46590b6cd44d07794b0ad fix feature pragma length check diff -r 71c7c0b02396 -r eabc94f30183 libmpdemux/asf_streaming.c --- a/libmpdemux/asf_streaming.c Sun Mar 12 20:47:52 2006 +0000 +++ b/libmpdemux/asf_streaming.c Sun Mar 12 21:44:22 2006 +0000 @@ -680,15 +680,13 @@ 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';