members = NULL;
num_members = 0;
- attrs = TALLOC_ARRAY(mem_ctx, const char *, 3);
+ if ((attrs = TALLOC_ARRAY(mem_ctx, const char *, 3)) == NULL) {
+ status = NT_STATUS_NO_MEMORY;
+ goto done;
+ }
+
attrs[1] = talloc_strdup(mem_ctx, "usnChanged");
attrs[2] = NULL;
{
char *sid_string;
sid_string = centry_string(centry, mem_ctx);
- if (!string_to_sid(sid, sid_string)) {
+ if ((sid_string == NULL) || (!string_to_sid(sid, sid_string))) {
return False;
}
return True;
if (!wcache->tdb) {
DEBUG(0,("Failed to open winbindd_cache.tdb!\n"));
+ return;
}
tdb_traverse(wcache->tdb, traverse_fn_cleanup, NULL);
if ((num_dcnames == 0) || (num_dcnames != num_addrs))
return False;
+ if ((addrs == NULL) || (dcnames == NULL))
+ return False;
+
if ( !open_any_socket_out(addrs, num_addrs, 10000, &fd_index, fd) )
{
for (i=0; i<num_dcs; i++) {
/* This is a bit excessive, but the extra data sooner or later will be
talloc'ed */
- extra_data_len = strlen(extra_data);
+ extra_data_len = 0;
+ if (extra_data != NULL) {
+ extra_data_len = strlen(extra_data);
+ }
if (extra_data_len > 0) {
state->response.extra_data.data = SMB_STRDUP(extra_data);