From bf496153bc280ed58ee25de599b08446bebf738e Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Thu, 19 Nov 2015 00:34:54 +0100 Subject: [PATCH] nwrap: catch error to add item to vector in nwrap_he_parse_line() Signed-off-by: Michael Adam Reviewed-by: Andreas Schneider --- lib/nss_wrapper/nss_wrapper.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/lib/nss_wrapper/nss_wrapper.c b/lib/nss_wrapper/nss_wrapper.c index 4bde91ca3ac..f7979decfae 100644 --- a/lib/nss_wrapper/nss_wrapper.c +++ b/lib/nss_wrapper/nss_wrapper.c @@ -2757,8 +2757,13 @@ static bool nwrap_he_parse_line(struct nwrap_cache *nwrap, char *line) } ip = i; - nwrap_vector_add_item(&(ed->nwrap_addrdata), - (void *const)ed->addr.host_addr); + ok = nwrap_vector_add_item(&(ed->nwrap_addrdata), + (void *const)ed->addr.host_addr); + if (!ok) { + NWRAP_LOG(NWRAP_LOG_ERROR, "Unable to add addrdata to vector"); + free(ed); + return false; + } ed->ht.h_addr_list = nwrap_vector_head(&ed->nwrap_addrdata); p++; @@ -2844,7 +2849,12 @@ static bool nwrap_he_parse_line(struct nwrap_cache *nwrap, char *line) aliases_count += 1; } - nwrap_vector_add_item(&(nwrap_he->entries), (void *const)ed); + ok = nwrap_vector_add_item(&(nwrap_he->entries), (void *const)ed); + if (!ok) { + NWRAP_LOG(NWRAP_LOG_ERROR, "Unable to add entry to vector"); + free(ed); + return false; + } ed->aliases_count = aliases_count; /* Inventarize item */ -- 2.34.1