int i;
bool ok;
struct sockaddr_storage *ss_list = NULL;
- TALLOC_CTX *frame = NULL;
+ TALLOC_CTX *frame = talloc_stackframe();
*return_iplist = NULL;
*return_count = 0;
*return_iplist = SMB_MALLOC_P(struct ip_service);
if (*return_iplist == NULL) {
DBG_ERR("malloc fail !\n");
+ TALLOC_FREE(frame);
return NT_STATUS_NO_MEMORY;
}
DBG_WARNING("interpret_string_addr failed on %s\n",
name);
SAFE_FREE(*return_iplist);
+ TALLOC_FREE(frame);
return NT_STATUS_INVALID_PARAMETER;
}
if (is_zero_addr(&(*return_iplist)->ss)) {
SAFE_FREE(*return_iplist);
+ TALLOC_FREE(frame);
return NT_STATUS_UNSUCCESSFUL;
}
*return_count = 1;
+ TALLOC_FREE(frame);
return NT_STATUS_OK;
}
*return_count );
/* This could be a negative response */
if (*return_count > 0) {
+ TALLOC_FREE(frame);
return NT_STATUS_OK;
} else {
+ TALLOC_FREE(frame);
return NT_STATUS_UNSUCCESSFUL;
}
}
if (resolve_order && strcmp(resolve_order[0], "NULL") == 0) {
DBG_DEBUG("all lookups disabled\n");
+ TALLOC_FREE(frame);
return NT_STATUS_INVALID_PARAMETER;
}
resolve_order = host_order;
}
- frame = talloc_stackframe();
-
if ((strlen(name) > MAX_NETBIOSNAME_LEN - 1) ||
(strchr(name, '.') != NULL)) {
/*