aboutsummaryrefslogtreecommitdiff
path: root/src/peerstore/gnunet-service-peerstore.c
diff options
context:
space:
mode:
authorOmar Tarabai <tarabai@devegypt.com>2014-06-03 15:03:36 +0000
committerOmar Tarabai <tarabai@devegypt.com>2014-06-03 15:03:36 +0000
commit1d644b000a0f0b5c12fe82a6c95d4874081b69a5 (patch)
treee7cf26af12f45392b6f0a79d6012f16f1b6fd605 /src/peerstore/gnunet-service-peerstore.c
parenta04d70028c0615e7910f68328db9c61bba67128b (diff)
downloadgnunet-1d644b000a0f0b5c12fe82a6c95d4874081b69a5.tar.gz
gnunet-1d644b000a0f0b5c12fe82a6c95d4874081b69a5.zip
peerstore: memory leak fixes
Diffstat (limited to 'src/peerstore/gnunet-service-peerstore.c')
-rw-r--r--src/peerstore/gnunet-service-peerstore.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/peerstore/gnunet-service-peerstore.c b/src/peerstore/gnunet-service-peerstore.c
index 82961f685..febebc63a 100644
--- a/src/peerstore/gnunet-service-peerstore.c
+++ b/src/peerstore/gnunet-service-peerstore.c
@@ -155,6 +155,7 @@ int record_iterator(void *cls,
155 record->expiry, 155 record->expiry,
156 GNUNET_MESSAGE_TYPE_PEERSTORE_ITERATE_RECORD); 156 GNUNET_MESSAGE_TYPE_PEERSTORE_ITERATE_RECORD);
157 GNUNET_SERVER_notification_context_unicast(nc, client, (struct GNUNET_MessageHeader *)srm, GNUNET_NO); 157 GNUNET_SERVER_notification_context_unicast(nc, client, (struct GNUNET_MessageHeader *)srm, GNUNET_NO);
158 GNUNET_free(srm);
158 return GNUNET_YES; 159 return GNUNET_YES;
159} 160}
160 161
@@ -190,6 +191,7 @@ int watch_notifier_it(void *cls,
190 GNUNET_MESSAGE_TYPE_PEERSTORE_WATCH_RECORD); 191 GNUNET_MESSAGE_TYPE_PEERSTORE_WATCH_RECORD);
191 GNUNET_SERVER_notification_context_unicast(nc, client, 192 GNUNET_SERVER_notification_context_unicast(nc, client,
192 (const struct GNUNET_MessageHeader *)srm, GNUNET_NO); 193 (const struct GNUNET_MessageHeader *)srm, GNUNET_NO);
194 GNUNET_free(srm);
193 return GNUNET_YES; 195 return GNUNET_YES;
194} 196}
195 197
@@ -291,12 +293,14 @@ void handle_iterate (void *cls,
291 endmsg->size = htons(sizeof(struct GNUNET_MessageHeader)); 293 endmsg->size = htons(sizeof(struct GNUNET_MessageHeader));
292 endmsg->type = htons(GNUNET_MESSAGE_TYPE_PEERSTORE_ITERATE_END); 294 endmsg->type = htons(GNUNET_MESSAGE_TYPE_PEERSTORE_ITERATE_END);
293 GNUNET_SERVER_notification_context_unicast(nc, client, endmsg, GNUNET_NO); 295 GNUNET_SERVER_notification_context_unicast(nc, client, endmsg, GNUNET_NO);
296 GNUNET_free(endmsg);
297 GNUNET_SERVER_receive_done(client, GNUNET_OK);
294 } 298 }
295 else 299 else
296 { 300 {
297 GNUNET_SERVER_receive_done(client, GNUNET_SYSERR); 301 GNUNET_SERVER_receive_done(client, GNUNET_SYSERR);
298 } 302 }
299 GNUNET_free(record); /* FIXME: destroy record */ 303 PEERSTORE_destroy_record(record);
300} 304}
301 305
302/** 306/**
@@ -323,8 +327,8 @@ void handle_store (void *cls,
323 || NULL == record->peer 327 || NULL == record->peer
324 || NULL == record->key) 328 || NULL == record->key)
325 { 329 {
326 /* FIXME: Destroy record */
327 GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Full key not supplied in client store request\n"); 330 GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Full key not supplied in client store request\n");
331 PEERSTORE_destroy_record(record);
328 GNUNET_SERVER_receive_done(client, GNUNET_SYSERR); 332 GNUNET_SERVER_receive_done(client, GNUNET_SYSERR);
329 return; 333 return;
330 } 334 }
@@ -341,13 +345,14 @@ void handle_store (void *cls,
341 record->value_size, 345 record->value_size,
342 *record->expiry)) 346 *record->expiry))
343 { 347 {
344 /* FIXME: Destroy record */
345 GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Failed to store requested value, sqlite database error."); 348 GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Failed to store requested value, sqlite database error.");
349 PEERSTORE_destroy_record(record);
346 GNUNET_SERVER_receive_done(client, GNUNET_SYSERR); 350 GNUNET_SERVER_receive_done(client, GNUNET_SYSERR);
347 return; 351 return;
348 } 352 }
349 GNUNET_SERVER_receive_done(client, GNUNET_OK); 353 GNUNET_SERVER_receive_done(client, GNUNET_OK);
350 watch_notifier(record); 354 watch_notifier(record);
355 PEERSTORE_destroy_record(record);
351} 356}
352 357
353/** 358/**