diff --git a/libs/libks/src/dht/ks_dht.c b/libs/libks/src/dht/ks_dht.c index 7a25d78b4b..e93c424ba0 100644 --- a/libs/libks/src/dht/ks_dht.c +++ b/libs/libks/src/dht/ks_dht.c @@ -22,6 +22,20 @@ KS_DECLARE(ks_status_t) ks_dht2_alloc(ks_dht2_t **dht, ks_pool_t *pool) return KS_STATUS_SUCCESS; } +/** + * + */ +KS_DECLARE(ks_status_t) ks_dht2_salloc(ks_dht2_t *dht, ks_pool_t *pool) +{ + ks_assert(dht); + ks_assert(pool); + + dht->pool = pool; + dht->pool_alloc = KS_FALSE; + + return KS_STATUS_SUCCESS; +} + /** * */ @@ -45,6 +59,7 @@ KS_DECLARE(ks_status_t) ks_dht2_free(ks_dht2_t *dht) KS_DECLARE(ks_status_t) ks_dht2_init(ks_dht2_t *dht, const uint8_t *nodeid) { ks_assert(dht); + ks_assert(dht->pool); if (ks_dht2_nodeid_init(&dht->nodeid, nodeid) != KS_STATUS_SUCCESS) { return KS_STATUS_FAIL; diff --git a/libs/libks/src/dht/ks_dht.h b/libs/libks/src/dht/ks_dht.h index 63c2852ba3..af5a2d4b79 100644 --- a/libs/libks/src/dht/ks_dht.h +++ b/libs/libks/src/dht/ks_dht.h @@ -35,6 +35,7 @@ struct ks_dht2_s { KS_DECLARE(ks_status_t) ks_dht2_alloc(ks_dht2_t **dht, ks_pool_t *pool); +KS_DECLARE(ks_status_t) ks_dht2_salloc(ks_dht2_t *dht, ks_pool_t *pool); KS_DECLARE(ks_status_t) ks_dht2_free(ks_dht2_t *dht); diff --git a/libs/libks/src/dht/ks_dht_nodeid.c b/libs/libks/src/dht/ks_dht_nodeid.c index 752f9ac70e..735213dce2 100644 --- a/libs/libks/src/dht/ks_dht_nodeid.c +++ b/libs/libks/src/dht/ks_dht_nodeid.c @@ -36,7 +36,6 @@ KS_DECLARE(ks_status_t) ks_dht2_nodeid_free(ks_dht2_nodeid_t *nodeid) KS_DECLARE(ks_status_t) ks_dht2_nodeid_init(ks_dht2_nodeid_t *nodeid, const uint8_t *id) { ks_assert(nodeid); - ks_assert(id); if (!id) { randombytes_buf(nodeid->id, KS_DHT_NODEID_LENGTH);