Fixed mem leak and more testing
This commit is contained in:
parent
e4f1c9b39c
commit
3a68619016
4 changed files with 23 additions and 3 deletions
|
@ -17,8 +17,17 @@
|
|||
struct PeerRequest* ipfs_bitswap_peer_request_new() {
|
||||
struct PeerRequest* request = (struct PeerRequest*) malloc(sizeof(struct PeerRequest));
|
||||
if (request != NULL) {
|
||||
request->cids = NULL;
|
||||
request->blocks = NULL;
|
||||
request->cids = libp2p_utils_vector_new(1);
|
||||
if (request->cids == NULL) {
|
||||
free(request);
|
||||
return NULL;
|
||||
}
|
||||
request->blocks = libp2p_utils_vector_new(1);
|
||||
if (request->blocks == NULL) {
|
||||
libp2p_utils_vector_free(request->cids);
|
||||
free(request);
|
||||
return NULL;
|
||||
}
|
||||
request->peer = NULL;
|
||||
}
|
||||
return request;
|
||||
|
@ -240,6 +249,7 @@ struct PeerRequest* ipfs_peer_request_queue_find_peer(struct PeerRequestQueue* q
|
|||
}
|
||||
|
||||
entry = ipfs_bitswap_peer_request_entry_new();
|
||||
entry->current = ipfs_bitswap_peer_request_new();
|
||||
entry->current->peer = peer;
|
||||
entry->prior = queue->last;
|
||||
queue->last = entry;
|
||||
|
|
|
@ -24,6 +24,12 @@ int repo_config_identity_build_peer_id(struct Identity* identity) {
|
|||
public_key.data = (unsigned char*)identity->private_key.public_key_der;
|
||||
public_key.data_size = identity->private_key.public_key_length;
|
||||
public_key.type = KEYTYPE_RSA;
|
||||
if (identity->peer == NULL)
|
||||
identity->peer = libp2p_peer_new();
|
||||
if (identity->peer->id != NULL) {
|
||||
free(identity->peer->id);
|
||||
identity->peer->id = NULL;
|
||||
}
|
||||
if (!libp2p_crypto_public_key_to_peer_id(&public_key, &identity->peer->id))
|
||||
return 0;
|
||||
identity->peer->id_size = strlen(identity->peer->id);
|
||||
|
|
|
@ -517,6 +517,8 @@ ipfs_routing* ipfs_routing_new_online (struct IpfsNode* local_node, struct RsaPr
|
|||
|
||||
onlineRouting->local_node->mode = MODE_ONLINE;
|
||||
|
||||
onlineRouting->Bootstrap(onlineRouting);
|
||||
|
||||
return onlineRouting;
|
||||
}
|
||||
|
||||
|
|
|
@ -306,8 +306,10 @@ int test_bitswap_retrieve_file_known_remote() {
|
|||
|
||||
ipfs_node2->routing->Bootstrap(ipfs_node2->routing);
|
||||
|
||||
if (!ipfs_cid_decode_hash_from_base58((unsigned char*)hello_world_hash, strlen(hello_world_hash), &cid))
|
||||
goto exit;
|
||||
|
||||
// this does the heavy lifting...
|
||||
cid = ipfs_cid_new(0, (unsigned char*)hello_world_hash, strlen(hello_world_hash), CID_PROTOBUF);
|
||||
if (!ipfs_node2->exchange->GetBlock(ipfs_node2->exchange, cid, &result)) {
|
||||
libp2p_logger_error("test_bitswap", "GetBlock returned false\n");
|
||||
goto exit;
|
||||
|
|
Loading…
Reference in a new issue