Browse Source

Merge remote-tracking branch 'refs/remotes/origin/devel'

z3APA3A 10 years ago
parent
commit
0e168f17f9
2 changed files with 4 additions and 2 deletions
  1. 2 1
      src/conf.c
  2. 2 1
      src/proxymain.c

+ 2 - 1
src/conf.c

@@ -271,9 +271,10 @@ static int h_external(int argc, unsigned char ** argv){
 	int res;
 	int res;
 #ifndef NOIPV6
 #ifndef NOIPV6
 	struct sockaddr_in6 sa6;
 	struct sockaddr_in6 sa6;
+	memset(&sa6, 0, sizeof(sa6));
 	res = getip46(46, argv[1], (struct sockaddr *)&sa6);
 	res = getip46(46, argv[1], (struct sockaddr *)&sa6);
 	if(!res) return 1; 
 	if(!res) return 1; 
-	memcpy((*SAFAMILY(&sa6)==AF_INET)?(void *)&conf.extsa:(void *)&conf.extsa6, &sa6, SASIZE(&sa6)); 
+	memcpy((*SAFAMILY(&sa6)==AF_INET)?(void *)&conf.extsa:(void *)&conf.extsa6, &sa6, sizeof(sa6)); 
 #else
 #else
 	res = getip46(46, argv[1], (struct sockaddr *)&conf.extsa);
 	res = getip46(46, argv[1], (struct sockaddr *)&conf.extsa);
 	if(!res) return 1; 
 	if(!res) return 1; 

+ 2 - 1
src/proxymain.c

@@ -238,8 +238,9 @@ int MODULEMAINFUNC (int argc, char** argv){
 			{
 			{
 #ifndef NOIPV6
 #ifndef NOIPV6
 				struct sockaddr_in6 sa6;
 				struct sockaddr_in6 sa6;
+				memset(&sa6, 0, sizeof(sa6));
 				error = !getip46(46, argv[i]+2, (struct sockaddr *)&sa6);
 				error = !getip46(46, argv[i]+2, (struct sockaddr *)&sa6);
-				if(!error) memcpy((*SAFAMILY(&sa6)==AF_INET)?(void *)&srv.extsa:(void *)&srv.extsa6, &sa6, SASIZE(&sa6)); 
+				if(!error) memcpy((*SAFAMILY(&sa6)==AF_INET)?(void *)&srv.extsa:(void *)&srv.extsa6, &sa6, sizeof(sa6)); 
 #else
 #else
 				error = !getip46(46, argv[i]+2, (struct sockaddr *)&srv.extsa);
 				error = !getip46(46, argv[i]+2, (struct sockaddr *)&srv.extsa);
 #endif
 #endif