]> granicus.if.org Git - php/commitdiff
Fix bug #61981
authorBoris Lytochkin <lytboris@php.net>
Sun, 17 Mar 2013 16:00:37 +0000 (20:00 +0400)
committerBoris Lytochkin <lytboris@php.net>
Sun, 17 Mar 2013 16:00:37 +0000 (20:00 +0400)
ext/snmp/snmp.c
ext/snmp/tests/snmp-object.phpt

index a3bd44c27b6f1c84f4d4bbe8ced249d8df4af330..0ae140f7d1056a86c2691524d698f30dfcaa2a9b 100644 (file)
@@ -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);
index 06b6492bd7f964e159a4d8125dd88fe9cb6151bf..522d417aff0a477035f9ebbf230746a1d471fcf4 100644 (file)
@@ -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"