Mercurial > mplayer.hg
changeset 22031:48036dc7f9d9
Fix base64_encode() max output length checking.
Made HTTP auth fail if sum of username+password lengths was below 3.
author | uau |
---|---|
date | Sun, 28 Jan 2007 19:25:03 +0000 |
parents | 3f0dc86dde93 |
children | 62d7b935df2e |
files | stream/http.c |
diffstat | 1 files changed, 3 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/stream/http.c Sun Jan 28 17:52:59 2007 +0000 +++ b/stream/http.c Sun Jan 28 19:25:03 2007 +0000 @@ -680,7 +680,7 @@ shift = 0; outMax &= ~3; - while( outLen<outMax ) { + while(1) { if( encLen>0 ) { // Shift in byte bits <<= 8; @@ -706,15 +706,14 @@ // Encode 6 bit segments while( shift>=6 ) { + if (outLen >= outMax) + return -1; shift -= 6; *out = b64[ (bits >> shift) & 0x3F ]; out++; outLen++; } } - - // Output overflow - return -1; } //! If this function succeeds you must closesocket stream->fd