diff --git a/server/core/dbusers.c b/server/core/dbusers.c index 5d6f19348..5f6943a3b 100644 --- a/server/core/dbusers.c +++ b/server/core/dbusers.c @@ -902,8 +902,10 @@ static void *uh_keydup(void* key) { rval->user = strdup(current_key->user); - if (rval->user == NULL) + if (rval->user == NULL) { + free(rval); return NULL; + } memcpy(&rval->ipv4, ¤t_key->ipv4, sizeof(struct sockaddr_in)); memcpy(&rval->netmask, ¤t_key->netmask, sizeof(int));