From 0d999f54249b012967b2f7ce45131a4f90f59a99 Mon Sep 17 00:00:00 2001 From: Nikos Mavrogiannopoulos Date: Tue, 10 Feb 2015 18:36:40 +0100 Subject: [PATCH] Added failure codes for proc_table_add() --- src/main-auth.c | 5 ++++- src/proc-search.c | 10 +++++----- src/proc-search.h | 2 +- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/main-auth.c b/src/main-auth.c index f997ccb1..b9d34424 100644 --- a/src/main-auth.c +++ b/src/main-auth.c @@ -275,7 +275,10 @@ struct proc_st *old_proc; memcpy(proc->ipv4_seed, &cmsg->ipv4_seed, sizeof(proc->ipv4_seed)); /* add the links to proc hash */ - proc_table_add(s, proc); + if (proc_table_add(s, proc) < 0) { + mslog(s, proc, LOG_ERR, "failed to add proc hashes"); + return -1; + } return 0; } diff --git a/src/proc-search.c b/src/proc-search.c index 0ca612b9..d86cff5a 100644 --- a/src/proc-search.c +++ b/src/proc-search.c @@ -83,29 +83,29 @@ void proc_table_deinit(main_server_st *s) talloc_free(s->proc_table.db_sid); } -void proc_table_add(main_server_st *s, struct proc_st *proc) +int proc_table_add(main_server_st *s, struct proc_st *proc) { size_t ip_hash = rehash_ip(proc, NULL); size_t dtls_id_hash = rehash_dtls_id(proc, NULL); if (htable_add(s->proc_table.db_ip, ip_hash, proc) == 0) { - return; + return -1; } if (htable_add(s->proc_table.db_dtls_id, dtls_id_hash, proc) == 0) { htable_del(s->proc_table.db_ip, ip_hash, proc); - return; + return -1; } if (htable_add(s->proc_table.db_sid, rehash_sid(proc, NULL), proc) == 0) { htable_del(s->proc_table.db_ip, ip_hash, proc); htable_del(s->proc_table.db_dtls_id, dtls_id_hash, proc); - return; + return -1; } s->proc_table.total++; - return; + return 0; } void proc_table_del(main_server_st *s, struct proc_st *proc) diff --git a/src/proc-search.h b/src/proc-search.h index 60e5667a..07c74952 100644 --- a/src/proc-search.h +++ b/src/proc-search.h @@ -36,7 +36,7 @@ struct proc_st *proc_search_sid(struct main_server_st *s, void proc_table_init(main_server_st *s); void proc_table_deinit(main_server_st *s); -void proc_table_add(main_server_st *s, struct proc_st *proc); +int proc_table_add(main_server_st *s, struct proc_st *proc); void proc_table_del(main_server_st *s, struct proc_st *proc); #endif