svn commit: r355105 - stable/12/contrib/bsnmp/snmpd

Andrey V. Elsukov ae at FreeBSD.org
Tue Nov 26 02:50:26 UTC 2019


Author: ae
Date: Tue Nov 26 02:50:25 2019
New Revision: 355105
URL: https://svnweb.freebsd.org/changeset/base/355105

Log:
  MFC r354858:
    Fix the byte order of IPv4 address parsed from begemotSnmpdTransInetStatus
    config option.
  
    An address is already in network byte order, there is no need to do
    htonl().
  
    PR:		242056

Modified:
  stable/12/contrib/bsnmp/snmpd/trans_inet.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/contrib/bsnmp/snmpd/trans_inet.c
==============================================================================
--- stable/12/contrib/bsnmp/snmpd/trans_inet.c	Tue Nov 26 02:26:34 2019	(r355104)
+++ stable/12/contrib/bsnmp/snmpd/trans_inet.c	Tue Nov 26 02:50:25 2019	(r355105)
@@ -458,12 +458,10 @@ struct inet_port_params {
 static int
 ipv4_create(struct inet_port *port, struct inet_port_params *params)
 {
-	uint32_t ip;
 
 	if (params->addr_len != 4)
 		return (SNMP_ERR_INCONS_VALUE);
 
-	memcpy(&ip, params->addr, 4);
 	struct port_sock *sock = calloc(1, sizeof(struct port_sock));
 	if (sock == NULL)
 		return (SNMP_ERR_GENERR);
@@ -477,8 +475,8 @@ ipv4_create(struct inet_port *port, struct inet_port_p
 
 	sin->sin_len = sizeof(struct sockaddr_in);
 	sin->sin_family = AF_INET;
-	sin->sin_addr.s_addr = htonl(ip);
 	sin->sin_port = htons(params->port);
+	memcpy(&sin->sin_addr, params->addr, 4); /* network byte order */
 
 	sock->port = port;
 


More information about the svn-src-stable mailing list