diff --git a/nlsr_km.c b/nlsr_km.c index 6ac2817..3aa706b 100644 --- a/nlsr_km.c +++ b/nlsr_km.c @@ -147,10 +147,12 @@ sign_content_with_user_defined_keystore(struct ccn_charbuf *content_name, return -1; } + ccn_keystore_destroy(&keystore); ccn_charbuf_destroy(&sp.template_ccnb); ccn_charbuf_destroy(&keyid); ccn_charbuf_destroy(&keyname); ccn_charbuf_destroy(&pubid_out); + free(baseuri); return 0; } diff --git a/nlsr_km_util.c b/nlsr_km_util.c index 72e9d8b..94b3816 100644 --- a/nlsr_km_util.c +++ b/nlsr_km_util.c @@ -249,6 +249,8 @@ get_orig_router_from_key_name(struct ccn_charbuf *name, int more, int type) memcpy(router,ccn_charbuf_as_string(temp1), strlen(ccn_charbuf_as_string(temp1))); router[strlen(router)]='\0'; + ccn_charbuf_destroy(&temp1); + ccn_charbuf_destroy(&orig_router); } else{ ccn_indexbuf_destroy(&name_comps); diff --git a/nlsr_ndn.c b/nlsr_ndn.c index 46e493a..a0967a1 100644 --- a/nlsr_ndn.c +++ b/nlsr_ndn.c @@ -80,7 +80,7 @@ get_nbr(struct name_prefix *nbr,struct ccn_closure *selfp, } - nbr->name=(char *)malloc(strlen(neighbor)+1); + nbr->name=(char *)calloc(strlen(neighbor)+1,sizeof(char)); memcpy(nbr->name,neighbor,strlen(neighbor)+1); nbr->length=strlen(neighbor)+1; @@ -359,6 +359,7 @@ process_incoming_interest_info(struct ccn_closure *selfp, struct ccn_upcall_info //ccn_charbuf_destroy(&sp.template_ccnb); //ccn_charbuf_destroy(&pubid); //ccn_charbuf_destroy(&pubkey); + ccn_charbuf_destroy(&resultbuf); } //ccn_charbuf_destroy(&data); @@ -670,7 +671,10 @@ process_incoming_timed_out_interest_info(struct ccn_closure* selfp, struct } } - free(nbr); + if ( nbr->name != NULL ) + free(nbr->name); + if ( nbr != NULL ) + free(nbr); }