From 88679832f066d35d3b1fadba0ef13bf42a54cd15 Mon Sep 17 00:00:00 2001 From: denis <> Date: Thu, 7 Dec 2006 22:38:35 +0000 Subject: nochma --- opentracker.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'opentracker.c') diff --git a/opentracker.c b/opentracker.c index 0034ec5..d2df803 100644 --- a/opentracker.c +++ b/opentracker.c @@ -130,6 +130,7 @@ e400: { // info_hash, left, port, numwant, compact struct ot_peer peer; + ot_hash hash; byte_copy( peer.ip, h->ip, 4); peer.port = 6881; @@ -137,10 +138,14 @@ e400: while( *c!=' ' ) { if(!byte_diff(c,10,"info_hash=")) { + size_t destlen = 20; // String is expected to be URL encoded, so expect // (%[0-9A-F][0-9A-F]){20} - int s = scan_urlencoded( - + + int s = scan_urlencoded( c+10, hash, &destlen); + if( c[s+10] != '&' ) + goto e_parse; + } else if(!byte_diff(c,8,"numwant=")) { -- cgit v1.2.3