*/
static NTSTATUS kdc_tcp_recv(void *private, DATA_BLOB blob)
{
- struct kdc_tcp_connection *kdcconn = talloc_get_type(private, struct kdc_tcp_connection);
+ struct kdc_tcp_connection *kdcconn = talloc_get_type(private,
+ struct kdc_tcp_connection);
NTSTATUS status = NT_STATUS_UNSUCCESSFUL;
TALLOC_CTX *tmp_ctx = talloc_new(kdcconn);
const char *src_addr;
status = NT_STATUS_NO_MEMORY;
failed:
- kdc_tcp_terminate_connection(kdcconn, nt_errstr(status));
- return NT_STATUS_OK;
+ return status;
}
/*
smb_conn->negotiate.calling_name = NULL;
smb_conn->packet = packet_init(smb_conn);
+ if (smb_conn->packet == NULL) {
+ stream_terminate_connection(conn, "out of memory");
+ return;
+ }
packet_set_private(smb_conn->packet, smb_conn);
packet_set_socket(smb_conn->packet, conn->socket);
packet_set_callback(smb_conn->packet, receive_smb_request);