Browse code

core: use same condition for extra_params in create_via_hf()

(cherry picked from commit 62e822ce25e93a8183dd9e5e1fee517143849a6a)

Daniel-Constantin Mierla authored on 07/04/2021 07:53:39
Showing 1 changed files
... ...
@@ -2979,12 +2979,14 @@ char* create_via_hf(unsigned int *len,
2979 2979
 		/* params so far + ';rport' + '\0' */
2980 2980
 		via = (char*)pkg_malloc(extra_params.len+RPORT_LEN);
2981 2981
 		if(via==0) {
2982
-		        PKG_MEM_ERROR;
2982
+			PKG_MEM_ERROR;
2983 2983
 			if (extra_params.s) pkg_free(extra_params.s);
2984 2984
 			return 0;
2985 2985
 		}
2986
-		if(extra_params.len!=0) {
2986
+		if(extra_params.s!=NULL && extra_params.len>0) {
2987 2987
 			memcpy(via, extra_params.s, extra_params.len);
2988
+		}
2989
+		if(extra_params.s!=NULL) {
2988 2990
 			pkg_free(extra_params.s);
2989 2991
 		}
2990 2992
 		memcpy(via + extra_params.len, RPORT, RPORT_LEN-1);
... ...
@@ -3005,8 +3007,10 @@ char* create_via_hf(unsigned int *len,
3005 3007
 				if (extra_params.s) pkg_free(extra_params.s);
3006 3008
 				return 0;
3007 3009
 			}
3008
-			if(extra_params.len != 0) {
3010
+			if(extra_params.s!=NULL && extra_params.len>0) {
3009 3011
 				memcpy(via, extra_params.s, extra_params.len);
3012
+			}
3013
+			if(extra_params.s!=NULL) {
3010 3014
 				pkg_free(extra_params.s);
3011 3015
 			}
3012 3016
 			memcpy(via + extra_params.len, sbuf, slen);
... ...
@@ -3025,12 +3029,14 @@ char* create_via_hf(unsigned int *len,
3025 3029
 		if(xparams.len>0) {
3026 3030
 			via = (char*)pkg_malloc(extra_params.len+xparams.len+2);
3027 3031
 			if(via==0) {
3028
-			        PKG_MEM_ERROR;
3032
+				PKG_MEM_ERROR;
3029 3033
 				if (extra_params.s) pkg_free(extra_params.s);
3030 3034
 				return 0;
3031 3035
 			}
3032
-			if(extra_params.len != 0) {
3036
+			if(extra_params.s!=NULL && extra_params.len>0) {
3033 3037
 				memcpy(via, extra_params.s, extra_params.len);
3038
+			}
3039
+			if(extra_params.s!=NULL) {
3034 3040
 				pkg_free(extra_params.s);
3035 3041
 			}
3036 3042
 			/* add ';' between via parameters */