From 68dde7dc1bde1d0d7884794703c389228b675481 Mon Sep 17 00:00:00 2001 From: beck <> Date: Sun, 12 May 2019 00:09:59 +0000 Subject: Stop the eyebleed in here and just use calloc --- src/lib/libcrypto/lhash/lhash.c | 39 ++++++++------------------------------- 1 file changed, 8 insertions(+), 31 deletions(-) diff --git a/src/lib/libcrypto/lhash/lhash.c b/src/lib/libcrypto/lhash/lhash.c index ac6cc43ea5..a68e466700 100644 --- a/src/lib/libcrypto/lhash/lhash.c +++ b/src/lib/libcrypto/lhash/lhash.c @@ -1,4 +1,4 @@ -/* $OpenBSD: lhash.c,v 1.18 2016/11/08 20:20:06 miod Exp $ */ +/* $OpenBSD: lhash.c,v 1.19 2019/05/12 00:09:59 beck Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -116,45 +116,22 @@ _LHASH * lh_new(LHASH_HASH_FN_TYPE h, LHASH_COMP_FN_TYPE c) { _LHASH *ret; - int i; - if ((ret = malloc(sizeof(_LHASH))) == NULL) - goto err0; - if ((ret->b = reallocarray(NULL, MIN_NODES, sizeof(LHASH_NODE *))) == NULL) - goto err1; - for (i = 0; i < MIN_NODES; i++) - ret->b[i] = NULL; + if ((ret = calloc(1, sizeof(_LHASH))) == NULL) + return NULL; + if ((ret->b = calloc(MIN_NODES, sizeof(LHASH_NODE *))) == NULL) { + free(ret); + return NULL; + } ret->comp = ((c == NULL) ? (LHASH_COMP_FN_TYPE)strcmp : c); ret->hash = ((h == NULL) ? (LHASH_HASH_FN_TYPE)lh_strhash : h); ret->num_nodes = MIN_NODES / 2; ret->num_alloc_nodes = MIN_NODES; - ret->p = 0; ret->pmax = MIN_NODES / 2; ret->up_load = UP_LOAD; ret->down_load = DOWN_LOAD; - ret->num_items = 0; - - ret->num_expands = 0; - ret->num_expand_reallocs = 0; - ret->num_contracts = 0; - ret->num_contract_reallocs = 0; - ret->num_hash_calls = 0; - ret->num_comp_calls = 0; - ret->num_insert = 0; - ret->num_replace = 0; - ret->num_delete = 0; - ret->num_no_delete = 0; - ret->num_retrieve = 0; - ret->num_retrieve_miss = 0; - ret->num_hash_comps = 0; - - ret->error = 0; - return (ret); -err1: - free(ret); -err0: - return (NULL); + return (ret); } void -- cgit v1.2.3-55-g6feb