On Mon, 2001-12-24 at 09:17, Bug Database wrote:
> 
> 
> ATTENTION! Do NOT reply to this email!
> To reply, use the web interface found at http://bugs.php.net/?id=14679&edit=2
> 
> 
> ID: 14679
> Updated by: mfischer
> Reported By: [EMAIL PROTECTED]
> Status: Open
> Bug Type: Reproducible crash
> Operating System: Linux
> PHP Version: 4.0CVS-2001-12-23
> New Comment:
> 
> Please send the patch as attachment as a reply to this mail (line ending got fscked 
>up). Also, next time please don't open a new report.

Great, if you would tell me how to add a comment to an existing bug
report if I'm neither owner nor developer. 

And if you would point people somewhere to snaps.php.net, building of
the existing snapshots would be much easier. :-)

Patch attached

        Regards
                Henning


> 
> Previous Comments:
> ------------------------------------------------------------------------
> 
> [2001-12-23 21:18:17] [EMAIL PROTECTED]
> 
> hi,
> 
> this is the fix for the snmp crash with recent red hat 
> libraries. Compile fix is to check for binit() in libsnmp
> and if yes, use the following calls. Addition of binit()
> check in configure.in is left as an exercise for the 
> reader. ;-)
> 
> 
> --- php-4.1.0/ext/snmp/snmp.c   Mon Dec 24 03:11:23 2001
> +++ /tmp/snmp.c Mon Dec 24 03:10:55 2001
> @@ -158,8 +158,9 @@
>      int name_length;
>      int status, count,rootlen=0,gotroot=0;
>         oid root[MAX_NAME_LEN];
> -       char buf[2048];
> -       char buf2[2048];
> +#define BUFSIZE 2048
> +       char buf[BUFSIZE];
> +       char buf2[BUFSIZE];
>         int keepwalking=1;
>         long timeout=SNMP_DEFAULT_TIMEOUT;
>         long retries=SNMP_DEFAULT_RETRIES;
> @@ -315,7 +316,7 @@
>                                         }
>  
>                                         if (st != 11) {
> -                                               sprint_value(buf,vars->name, 
>vars->name_length, vars);
> +                                               sprint_value(binit(NULL, buf, 
>BUFSIZE) ,vars->name, vars->name_length, vars);
>                                         }
>  #if 0
>                                         Debug("snmp response is: %s\n",buf);
> @@ -325,7 +326,7 @@
>                                         } else if (st == 2) {
>                                                 
>add_next_index_string(return_value,buf,1); /* Add to returned array */
>                                         } else if (st == 3)  {
> -                                               sprint_objid(buf2, vars->name, 
>vars->name_length);
> +                                               sprint_objid(binit(NULL, buf2, 
>BUFSIZE), vars->name, vars->name_length);
>                                                 
>add_assoc_string(return_value,buf2,buf,1);
>                                         }
>                                         if (st >= 2 && st != 11) {
> @@ -344,7 +345,7 @@
>                                                 for (count=1, vars = 
>response->variables; vars && count != response->errindex;
>                                                 vars = vars->next_variable, count++);
>                                                 if (vars) {
> -                                                       sprint_objid(buf,vars->name, 
>vars->name_length);
> +                                                       sprint_objid(binit(NULL, 
>buf, BUFSIZE), vars->name, vars->name_length);
>                                                 }
>                                                 php_error(E_WARNING,"This name does 
>not exist: %s\n",buf);
>                                         }
> 
> 
> ------------------------------------------------------------------------
> 
> 
-- 
Dipl.-Inf. (Univ.) Henning P. Schmiedehausen       -- Geschaeftsfuehrer
INTERMETA - Gesellschaft fuer Mehrwertdienste mbH     [EMAIL PROTECTED]

Am Schwabachgrund 22  Fon.: 09131 / 50654-0   [EMAIL PROTECTED]
D-91054 Buckenhof     Fax.: 09131 / 50654-20   
--- php-4.1.0/ext/snmp/snmp.c   Mon Dec 24 03:11:23 2001
+++ /tmp/snmp.c Mon Dec 24 03:10:55 2001
@@ -158,8 +158,9 @@
     int name_length;
     int status, count,rootlen=0,gotroot=0;
        oid root[MAX_NAME_LEN];
-       char buf[2048];
-       char buf2[2048];
+#define BUFSIZE 2048
+       char buf[BUFSIZE];
+       char buf2[BUFSIZE];
        int keepwalking=1;
        long timeout=SNMP_DEFAULT_TIMEOUT;
        long retries=SNMP_DEFAULT_RETRIES;
@@ -315,7 +316,7 @@
                                        }
 
                                        if (st != 11) {
-                                               sprint_value(buf,vars->name, 
vars->name_length, vars);
+                                               sprint_value(binit(NULL, buf, BUFSIZE) 
+,vars->name, vars->name_length, vars);
                                        }
 #if 0
                                        Debug("snmp response is: %s\n",buf);
@@ -325,7 +326,7 @@
                                        } else if (st == 2) {
                                                
add_next_index_string(return_value,buf,1); /* Add to returned array */
                                        } else if (st == 3)  {
-                                               sprint_objid(buf2, vars->name, 
vars->name_length);
+                                               sprint_objid(binit(NULL, buf2, 
+BUFSIZE), vars->name, vars->name_length);
                                                
add_assoc_string(return_value,buf2,buf,1);
                                        }
                                        if (st >= 2 && st != 11) {
@@ -344,7 +345,7 @@
                                                for (count=1, vars = 
response->variables; vars && count != response->errindex;
                                                vars = vars->next_variable, count++);
                                                if (vars) {
-                                                       sprint_objid(buf,vars->name, 
vars->name_length);
+                                                       sprint_objid(binit(NULL, buf, 
+BUFSIZE), vars->name, vars->name_length);
                                                }
                                                php_error(E_WARNING,"This name does 
not exist: %s\n",buf);
                                        }

-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to