Explorar o código

core: cfg select - safety check accessing vars before initialization

Daniel-Constantin Mierla %!s(int64=7) %!d(string=hai) anos
pai
achega
97855a1766
Modificáronse 1 ficheiros con 6 adicións e 1 borrados
  1. 6 1
      src/core/cfg/cfg_select.c

+ 6 - 1
src/core/cfg/cfg_select.c

@@ -220,7 +220,12 @@ int select_cfg_var(str *res, select_t *s, struct sip_msg *msg)
 			break;
 
 		case CFG_VAR_STR:
-			memcpy(res, p, sizeof(str));
+			if(p) {
+				memcpy(res, p, sizeof(str));
+			} else {
+				res->s = 0;
+				res->len = 0;
+			}
 			break;
 
 		default: