rpms/net-snmp/devel net-snmp-5.4-transport-leak.patch, NONE, 1.1 net-snmp.spec, 1.119, 1.120

Jan Šafránek (jsafrane) fedora-extras-commits at redhat.com
Tue Jul 31 08:23:51 UTC 2007


Author: jsafrane

Update of /cvs/pkgs/rpms/net-snmp/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv6220

Modified Files:
	net-snmp.spec 
Added Files:
	net-snmp-5.4-transport-leak.patch 
Log Message:
fixed leak  in udp transport
Resolves: #247771

net-snmp-5.4-transport-leak.patch:

--- NEW FILE net-snmp-5.4-transport-leak.patch ---
--- snmplib/snmpUDPDomain.c	2006/09/19 23:42:17	15274
+++ snmplib/snmpUDPDomain.c	2006/12/28 23:29:44	15683
@@ -586,28 +586,24 @@
     int             rc = 0;
     char           *str = NULL;
     char           *client_socket = NULL;
-    netsnmp_udp_addr_pair *addr_pair = NULL;
+    netsnmp_udp_addr_pair addr_pair;
 
     if (addr == NULL || addr->sin_family != AF_INET) {
         return NULL;
     }
 
-    addr_pair = (netsnmp_udp_addr_pair *) malloc(sizeof(netsnmp_udp_addr_pair));
-    if (addr_pair == NULL) {
-        return NULL;
-    }
-    memset(addr_pair, 0, sizeof(netsnmp_udp_addr_pair));
-    memcpy(&(addr_pair->remote_addr), addr, sizeof(struct sockaddr_in));
+    memset(&addr_pair, 0, sizeof(netsnmp_udp_addr_pair));
+    memcpy(&(addr_pair.remote_addr), addr, sizeof(struct sockaddr_in));
 
     t = (netsnmp_transport *) malloc(sizeof(netsnmp_transport));
     if (t == NULL) {
         return NULL;
     }
 
-    str = netsnmp_udp_fmtaddr(NULL, (void *)addr_pair, 
+    str = netsnmp_udp_fmtaddr(NULL, (void *)&addr_pair,
                                  sizeof(netsnmp_udp_addr_pair));
-    DEBUGMSGTL(("netsnmp_udp", "open %s %s:%d\n", local ? "local" : "remote",
-                str,addr->sin_port));
+    DEBUGMSGTL(("netsnmp_udp", "open %s %s\n", local ? "local" : "remote",
+                str));
     free(str);
 
     memset(t, 0, sizeof(netsnmp_transport));
@@ -690,7 +686,7 @@
         t->remote[4] = (htons(addr->sin_port) & 0xff00) >> 8;
         t->remote[5] = (htons(addr->sin_port) & 0x00ff) >> 0;
         t->remote_length = 6;
-        memcpy(t->data, addr_pair, sizeof(netsnmp_udp_addr_pair));
+        memcpy(t->data, &addr_pair, sizeof(netsnmp_udp_addr_pair));
         t->data_length = sizeof(netsnmp_udp_addr_pair);
     }
 


Index: net-snmp.spec
===================================================================
RCS file: /cvs/pkgs/rpms/net-snmp/devel/net-snmp.spec,v
retrieving revision 1.119
retrieving revision 1.120
diff -u -r1.119 -r1.120
--- net-snmp.spec	31 Jul 2007 08:13:35 -0000	1.119
+++ net-snmp.spec	31 Jul 2007 08:23:19 -0000	1.120
@@ -45,6 +45,7 @@
 Patch20: net-snmp-5.3.1-mib-option.patch
 Patch21: net-snmp-5.4-exec-crash.patch
 Patch22: net-snmp-5.1.2-snmpconf-selinux.patch
+Patch23: net-snmp-5.4-transport-leak.patch
 
 Requires(pre): /sbin/chkconfig
 Requires(post): /sbin/chkconfig
@@ -168,6 +169,7 @@
 %patch20 -p1 -b .mib-option
 %patch21 -p1 -b .exec-crash
 %patch22 -p1 -b .selinux
+%patch23 -p0 -b .transport-leak
 
 # Do this patch with a perl hack...
 perl -pi -e "s|'\\\$install_libdir'|'%{_libdir}'|" ltmain.sh
@@ -375,9 +377,9 @@
 
 %changelog
 * Mon Jul 30 2007  Safranek <jsafranek at redhat.com> 5.4-16
-- lm_sensors now supported on ppc64 (#249255)
 - snmpconf generates config files with proper selinux context
   (#247462)
+- fixed leak  in udp transport (#247771)
 
 * Thu Jun 28 2007 Jan Safranek <jsafranek at redhat.com> 5.4-15
 - fix default snmptrapd.conf




More information about the fedora-extras-commits mailing list