From 245661a1584d0b2549076dc8696b04596170bf47 Mon Sep 17 00:00:00 2001
From: Jason Parker <jparker@digium.com>
Date: Thu, 31 Jan 2008 19:54:46 +0000
Subject: [PATCH] Merged revisions 101482 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r101482 | qwell | 2008-01-31 13:52:49 -0600 (Thu, 31 Jan 2008) | 4 lines

Solaris compat fixes for struct in_addr funkiness.

Issue #11885, patch by snuffy.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@101483 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 channels/chan_iax2.c | 6 ++++--
 channels/chan_sip.c  | 3 ++-
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c
index faa8337f87..221219bc5f 100644
--- a/channels/chan_iax2.c
+++ b/channels/chan_iax2.c
@@ -2956,8 +2956,9 @@ static struct iax2_peer *realtime_peer(const char *peername, struct sockaddr_in
 		if (var && sin) {
 			for (tmp = var; tmp; tmp = tmp->next) {
 				if (!strcasecmp(tmp->name, "host")) {
-					struct in_addr sin2 = { 0, };
+					struct in_addr sin2;
 					struct ast_dnsmgr_entry *dnsmgr = NULL;
+					memset(&sin2, 0, sizeof(sin2));
 					if ((ast_dnsmgr_lookup(tmp->value, &sin2, &dnsmgr) < 0) || (memcmp(&sin2, &sin->sin_addr, sizeof(sin2)) != 0)) {
 						/* No match */
 						ast_variables_destroy(var);
@@ -3068,8 +3069,9 @@ static struct iax2_user *realtime_user(const char *username, struct sockaddr_in
 		if (var) {
 			for (tmp = var; tmp; tmp = tmp->next) {
 				if (!strcasecmp(tmp->name, "host")) {
-					struct in_addr sin2 = { 0, };
+					struct in_addr sin2;
 					struct ast_dnsmgr_entry *dnsmgr = NULL;
+					memset(&sin2, 0, sizeof(sin2));
 					if ((ast_dnsmgr_lookup(tmp->value, &sin2, &dnsmgr) < 0) || (memcmp(&sin2, &sin->sin_addr, sizeof(sin2)) != 0)) {
 						/* No match */
 						ast_variables_destroy(var);
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 5b8b087423..041ddaa31a 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -3499,8 +3499,9 @@ static struct sip_peer *realtime_peer(const char *newpeername, struct sockaddr_i
 			if (var) {
 				for (tmp = var; tmp; tmp = tmp->next) {
 					if (!strcasecmp(var->name, "host")) {
-						struct in_addr sin2 = { 0, };
+						struct in_addr sin2;
 						struct ast_dnsmgr_entry *dnsmgr = NULL;
+						memset(&sin2, 0, sizeof(sin2));
 						if ((ast_dnsmgr_lookup(tmp->value, &sin2, &dnsmgr) < 0) || (memcmp(&sin2, &sin->sin_addr, sizeof(sin2)) != 0)) {
 							/* No match */
 							ast_variables_destroy(var);
-- 
GitLab