Commit:    b32405053f5a32d8c4d83f7566f5b414afd3aedb
Author:    Boris Lytochkin <lytbo...@php.net>         Sun, 17 Mar 2013 20:00:37 
+0400
Parents:   5de1b08482cdf2385e263f68ce9ea4001f724ffd
Branches:  PHP-5.4 PHP-5.5 master

Link:       
http://git.php.net/?p=php-src.git;a=commitdiff;h=b32405053f5a32d8c4d83f7566f5b414afd3aedb

Log:
Fix bug #61981

Bugs:
https://bugs.php.net/61981

Changed paths:
  M  ext/snmp/snmp.c
  M  ext/snmp/tests/snmp-object.phpt


Diff:
diff --git a/ext/snmp/snmp.c b/ext/snmp/snmp.c
index a3bd44c..0ae140f 100644
--- a/ext/snmp/snmp.c
+++ b/ext/snmp/snmp.c
@@ -832,9 +832,9 @@ retry:
                                                        }
                                                } else if (st & 
SNMP_USE_SUFFIX_AS_KEYS && st & SNMP_CMD_WALK) {
                                                        snprint_objid(buf2, 
sizeof(buf2), vars->name, vars->name_length);
-                                                       if 
(objid_query->vars[0].name_length <= vars->name_length && 
snmp_oid_compare(objid_query->vars[0].name, objid_query->vars[0].name_length, 
vars->name, objid_query->vars[0].name_length) == 0) {
+                                                       if (rootlen <= 
vars->name_length && snmp_oid_compare(root, rootlen, vars->name, rootlen) == 0) 
{
                                                                buf2[0] = '\0';
-                                                               count = 
objid_query->vars[0].name_length;
+                                                               count = rootlen;
                                                                while(count < 
vars->name_length){
                                                                        
sprintf(buf, "%lu.", vars->name[count]);
                                                                        
strcat(buf2, buf);
diff --git a/ext/snmp/tests/snmp-object.phpt b/ext/snmp/tests/snmp-object.phpt
index 06b6492..522d417 100644
--- a/ext/snmp/tests/snmp-object.phpt
+++ b/ext/snmp/tests/snmp-object.phpt
@@ -83,6 +83,19 @@ var_dump(gettype($z));
 var_dump(count($z));
 var_dump(key($z));
 var_dump(array_shift($z));
+var_dump(key($z));
+array_shift($z);
+var_dump(key($z));
+array_shift($z);
+var_dump(key($z));
+array_shift($z);
+var_dump(key($z));
+array_shift($z);
+var_dump(key($z));
+array_shift($z);
+var_dump(key($z));
+array_shift($z);
+var_dump(key($z));
 var_dump($session->close());
 
 echo "SNMPv3 (default security settings)\n";
@@ -194,6 +207,13 @@ string(5) "array"
 int(%d)
 string(3) "1.0"
 string(%d) "%s"
+string(3) "2.0"
+string(3) "3.0"
+string(3) "4.0"
+string(3) "5.0"
+string(3) "6.0"
+string(3) "7.0"
+string(3) "8.0"
 bool(true)
 SNMPv3 (default security settings)
 string(%d) "%S"


--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to