iliaa Sun May 31 14:11:04 2009 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/snmp snmp.c Log: Fixed bug #48359 (Script hangs on snmprealwalk if OID is not increasing) # Original patch by simonov at gmail dot com http://cvs.php.net/viewvc.cgi/php-src/ext/snmp/snmp.c?r1=1.106.2.2.2.5.2.11&r2=1.106.2.2.2.5.2.12&diff_format=u Index: php-src/ext/snmp/snmp.c diff -u php-src/ext/snmp/snmp.c:1.106.2.2.2.5.2.11 php-src/ext/snmp/snmp.c:1.106.2.2.2.5.2.12 --- php-src/ext/snmp/snmp.c:1.106.2.2.2.5.2.11 Sat May 2 21:13:54 2009 +++ php-src/ext/snmp/snmp.c Sun May 31 14:11:04 2009 @@ -20,7 +20,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: snmp.c,v 1.106.2.2.2.5.2.11 2009/05/02 21:13:54 jani Exp $ */ +/* $Id: snmp.c,v 1.106.2.2.2.5.2.12 2009/05/31 14:11:04 iliaa Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -677,9 +677,14 @@ if (st >= SNMP_CMD_WALK && st != SNMP_CMD_SET) { if (vars->type != SNMP_ENDOFMIBVIEW && vars->type != SNMP_NOSUCHOBJECT && vars->type != SNMP_NOSUCHINSTANCE) { - memmove((char *)name, (char *)vars->name,vars->name_length * sizeof(oid)); - name_length = vars->name_length; - keepwalking = 1; + if (snmp_oid_compare(name, name_length, vars->name, vars->name_length) >= 0) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Error: OID not increasing: %s",name); + keepwalking = 0; + } else { + memmove((char *)name, (char *)vars->name,vars->name_length * sizeof(oid)); + name_length = vars->name_length; + keepwalking = 1; + } } } }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php