Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Nov 2019 16:29:47 +0000 (UTC)
From:      "Andrey V. Elsukov" <ae@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r354858 - head/contrib/bsnmp/snmpd
Message-ID:  <201911191629.xAJGTlkA026773@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ae
Date: Tue Nov 19 16:29:47 2019
New Revision: 354858
URL: https://svnweb.freebsd.org/changeset/base/354858

Log:
  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
  MFC after:	1 week

Modified:
  head/contrib/bsnmp/snmpd/trans_inet.c

Modified: head/contrib/bsnmp/snmpd/trans_inet.c
==============================================================================
--- head/contrib/bsnmp/snmpd/trans_inet.c	Tue Nov 19 15:38:55 2019	(r354857)
+++ head/contrib/bsnmp/snmpd/trans_inet.c	Tue Nov 19 16:29:47 2019	(r354858)
@@ -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;
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201911191629.xAJGTlkA026773>