aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--TODO2
-rw-r--r--src/core/core_api.c11
2 files changed, 7 insertions, 6 deletions
diff --git a/TODO b/TODO
index 446324433..58eb3e8b6 100644
--- a/TODO
+++ b/TODO
@@ -8,8 +8,6 @@
8* Transport: 8* Transport:
9 - ATS crashes [MW] 9 - ATS crashes [MW]
10 - UDP fragmentation [MW] 10 - UDP fragmentation [MW]
11* CORE:
12 - Core API's notify_transmit_ready leaks 'th'!
13* FS [CG] 11* FS [CG]
14 - download of 100 MB file from 'leach' peer hung due to 12 - download of 100 MB file from 'leach' peer hung due to
15 failure of core-api to call back after a change preference request 13 failure of core-api to call back after a change preference request
diff --git a/src/core/core_api.c b/src/core/core_api.c
index 1d61cf96b..195e94e29 100644
--- a/src/core/core_api.c
+++ b/src/core/core_api.c
@@ -736,7 +736,8 @@ transmit_message (void *cls,
736#endif 736#endif
737 /* client decided to send nothing! */ 737 /* client decided to send nothing! */
738 request_next_transmission (pr); 738 request_next_transmission (pr);
739 return 0; 739 GNUNET_free (th);
740 return 0;
740 } 741 }
741#if DEBUG_CORE 742#if DEBUG_CORE
742 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 743 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
@@ -748,7 +749,8 @@ transmit_message (void *cls,
748 { 749 {
749 GNUNET_break (0); 750 GNUNET_break (0);
750 request_next_transmission (pr); 751 request_next_transmission (pr);
751 return 0; 752 GNUNET_free (th);
753 return 0;
752 } 754 }
753 ret += sizeof (struct SendMessage); 755 ret += sizeof (struct SendMessage);
754 sm->header.size = htons (ret); 756 sm->header.size = htons (ret);
@@ -1582,6 +1584,7 @@ GNUNET_CORE_notify_transmit_ready (struct GNUNET_CORE_Handle *handle,
1582 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 1584 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
1583 "Dropping transmission request: priority too low\n"); 1585 "Dropping transmission request: priority too low\n");
1584#endif 1586#endif
1587 GNUNET_free(th);
1585 return NULL; /* priority too low */ 1588 return NULL; /* priority too low */
1586 } 1589 }
1587 GNUNET_CONTAINER_DLL_remove (pr->pending_head, 1590 GNUNET_CONTAINER_DLL_remove (pr->pending_head,
@@ -1762,7 +1765,8 @@ GNUNET_CORE_peer_request_connect (struct GNUNET_CORE_Handle *h,
1762 &peer->hashPubKey)) 1765 &peer->hashPubKey))
1763 { 1766 {
1764#if DEBUG_CORE 1767#if DEBUG_CORE
1765 GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Peers are already connected!\n"); 1768 GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
1769 "Peers are already connected!\n");
1766#endif 1770#endif
1767 return NULL; 1771 return NULL;
1768 } 1772 }
@@ -1851,7 +1855,6 @@ change_preference_send_continuation (void *cls,
1851 struct GNUNET_CORE_InformationRequestContext *irc = cls; 1855 struct GNUNET_CORE_InformationRequestContext *irc = cls;
1852 1856
1853 irc->cm = NULL; 1857 irc->cm = NULL;
1854 // FIXME: who frees 'irc'?
1855} 1858}
1856 1859
1857 1860