diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 3e3a4c6c7cb1922b7474f999c8a5686c37ddb669..aa52adfae429e9d526a2ce398283ad9fb6087eab 100755 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -10023,14 +10023,14 @@ static struct sip_user *build_user(const char *name, struct ast_variable *v, int struct ast_ha *oldha = NULL; char *varname = NULL, *varval = NULL; struct ast_variable *tmpvar = NULL; + struct ast_flags userflags = {(0)}; + struct ast_flags mask = {(0)}; + user = (struct sip_user *)malloc(sizeof(struct sip_user)); if (!user) { return NULL; } - struct ast_flags userflags = {(0)}; - struct ast_flags mask = {(0)}; - memset(user, 0, sizeof(struct sip_user)); suserobjs++; ASTOBJ_INIT(user); @@ -10170,6 +10170,9 @@ static struct sip_peer *build_peer(const char *name, struct ast_variable *v, int time_t regseconds; char *varname = NULL, *varval = NULL; struct ast_variable *tmpvar = NULL; + struct ast_flags peerflags = {(0)}; + struct ast_flags mask = {(0)}; + if (!realtime) /* Note we do NOT use find_peer here, to avoid realtime recursion */ @@ -10197,9 +10200,6 @@ static struct sip_peer *build_peer(const char *name, struct ast_variable *v, int if (!peer) return NULL; - struct ast_flags peerflags = {(0)}; - struct ast_flags mask = {(0)}; - peer->lastmsgssent = -1; if (!found) { if (name)