From: Victor Julien Date: Tue, 23 Feb 2016 09:05:48 +0000 (+0100) Subject: multi-tenants: improve error handling (CID 1312702) X-Git-Tag: suricata-3.0.1RC1~121 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0dd81b85d4a46702b1c7fe482fb1eb04ef50d130;p=thirdparty%2Fsuricata.git multi-tenants: improve error handling (CID 1312702) --- diff --git a/src/detect-engine.c b/src/detect-engine.c index cba76ca369..9763ae95bd 100644 --- a/src/detect-engine.c +++ b/src/detect-engine.c @@ -1334,7 +1334,9 @@ static TmEcode DetectEngineThreadCtxInitForMT(ThreadVars *tv, DetectEngineThread map_cnt = 0; map = master->tenant_mapping_list; while (map) { - BUG_ON(map_cnt > map_array_size); + if (map_cnt >= map_array_size) { + goto error; + } map_array[map_cnt].traffic_id = map->traffic_id; map_array[map_cnt].tenant_id = map->tenant_id; map_cnt++; @@ -1351,7 +1353,9 @@ static TmEcode DetectEngineThreadCtxInitForMT(ThreadVars *tv, DetectEngineThread DetectEngineThreadCtx *mt_det_ctx = DetectEngineThreadCtxInitForReload(tv, list, 0); if (mt_det_ctx == NULL) goto error; - BUG_ON(HashTableAdd(mt_det_ctxs_hash, mt_det_ctx, 0) != 0); + if (HashTableAdd(mt_det_ctxs_hash, mt_det_ctx, 0) != 0) { + goto error; + } } list = list->next; }