Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 160139 Details for
Bug 231528
stabilize =dev-lang/php-5.2.6-r7 because of USE=snmp memory leaks
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
Fix snmp memory leak
php-ext-snmp-fix-leaks.patch (text/plain), 2.66 KB, created by
Federico Cuello
on 2008-07-11 20:17:45 UTC
(
hide
)
Description:
Fix snmp memory leak
Filename:
MIME Type:
Creator:
Federico Cuello
Created:
2008-07-11 20:17:45 UTC
Size:
2.66 KB
patch
obsolete
>--- ext/snmp/snmp.c.orig 2008-07-01 11:21:10.000000000 -0300 >+++ ext/snmp/snmp.c 2008-07-01 11:21:18.000000000 -0300 >@@ -417,13 +417,13 @@ > while (keepwalking) { > keepwalking = 0; > if ((st == SNMP_CMD_GET) || (st == SNMP_CMD_GETNEXT)) { >- pdu = snmp_pdu_create((st == SNMP_CMD_GET) ? SNMP_MSG_GET : SNMP_MSG_GETNEXT); > name_length = MAX_OID_LEN; > if (!snmp_parse_oid(objid, name, &name_length)) { > php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid object identifier: %s", objid); > snmp_close(ss); > RETURN_FALSE; > } >+ pdu = snmp_pdu_create((st == SNMP_CMD_GET) ? SNMP_MSG_GET : SNMP_MSG_GETNEXT); > snmp_add_null_var(pdu, name, name_length); > } else if (st == SNMP_CMD_SET) { > pdu = snmp_pdu_create(SNMP_MSG_SET); >@@ -434,6 +434,7 @@ > sprint_objid(buf, name, name_length); > #endif > php_error_docref(NULL TSRMLS_CC, E_WARNING, "Could not add variable: %s %c %s", buf, type, value); >+ snmp_free_pdu(pdu); > snmp_close(ss); > RETURN_FALSE; > } >@@ -455,6 +456,7 @@ > for (vars = response->variables; vars; vars = vars->next_variable) { > if (st >= SNMP_CMD_WALK && st != SNMP_CMD_SET && > (vars->name_length < rootlen || memcmp(root, vars->name, rootlen * sizeof(oid)))) { >+ snmp_free_pdu(response); > continue; /* not part of this subtree */ > } > >@@ -467,11 +469,13 @@ > *return_value = *snmpval; > zval_copy_ctor(return_value); > zval_ptr_dtor(&snmpval); >+ snmp_free_pdu(response); > snmp_close(ss); > return; > } else if (st == SNMP_CMD_GETNEXT) { > *return_value = *snmpval; > zval_copy_ctor(return_value); >+ snmp_free_pdu(response); > snmp_close(ss); > return; > } else if (st == SNMP_CMD_WALK) { >@@ -510,23 +514,28 @@ > } > if (st == SNMP_CMD_GET) { > if ((pdu = snmp_fix_pdu(response, SNMP_MSG_GET)) != NULL) { >+ snmp_free_pdu(response); > goto retry; > } > } else if (st == SNMP_CMD_SET) { > if ((pdu = snmp_fix_pdu(response, SNMP_MSG_SET)) != NULL) { >+ snmp_free_pdu(response); > goto retry; > } > } else if (st == SNMP_CMD_GETNEXT) { > if ((pdu = snmp_fix_pdu(response, SNMP_MSG_GETNEXT)) != NULL) { >+ snmp_free_pdu(response); > goto retry; > } > } else if (st >= SNMP_CMD_WALK) { /* Here we do walks. */ > if ((pdu = snmp_fix_pdu(response, ((session->version == SNMP_VERSION_1) > ? SNMP_MSG_GETNEXT > : SNMP_MSG_GETBULK))) != NULL) { >+ snmp_free_pdu(response); > goto retry; > } > } >+ snmp_free_pdu(response); > snmp_close(ss); > if (st == SNMP_CMD_WALK || st == SNMP_CMD_REALWALK) { > zval_dtor(return_value); >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 231528
: 160139