aboutsummaryrefslogtreecommitdiff
path: root/src/social
diff options
context:
space:
mode:
authoranryko <a.shvenke@gmail.com>2018-01-04 19:29:49 +0100
committeranryko <a.shvenke@gmail.com>2018-01-04 19:29:49 +0100
commit6c1432bf5a9623917aed5d150e438e59baec9490 (patch)
tree1e5439804096460e913852d45e40ae6c64b4e1fb /src/social
parente7e3572182bf2a0d51ae449abeee0fabbb18a0b4 (diff)
downloadgnunet-6c1432bf5a9623917aed5d150e438e59baec9490.tar.gz
gnunet-6c1432bf5a9623917aed5d150e438e59baec9490.zip
Leak fix.
Diffstat (limited to 'src/social')
-rw-r--r--src/social/gnunet-service-social.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/social/gnunet-service-social.c b/src/social/gnunet-service-social.c
index 5b2a8ba9b..d1e644812 100644
--- a/src/social/gnunet-service-social.c
+++ b/src/social/gnunet-service-social.c
@@ -1755,6 +1755,7 @@ guest_enter (const struct GuestEnterRequest *greq, struct Guest **ret_gst)
1755 struct GNUNET_CONTAINER_MultiHashMap * 1755 struct GNUNET_CONTAINER_MultiHashMap *
1756 plc_gst = GNUNET_CONTAINER_multihashmap_get (place_guests, &place_pub_hash); 1756 plc_gst = GNUNET_CONTAINER_multihashmap_get (place_guests, &place_pub_hash);
1757 struct Guest *gst = NULL; 1757 struct Guest *gst = NULL;
1758 int new_guest;
1758 1759
1759 if (NULL != plc_gst) 1760 if (NULL != plc_gst)
1760 gst = GNUNET_CONTAINER_multihashmap_get (plc_gst, &ego_pub_hash); 1761 gst = GNUNET_CONTAINER_multihashmap_get (plc_gst, &ego_pub_hash);
@@ -1763,9 +1764,12 @@ guest_enter (const struct GuestEnterRequest *greq, struct Guest **ret_gst)
1763 "plc_gst = %p, gst = %p\n", 1764 "plc_gst = %p, gst = %p\n",
1764 plc_gst, 1765 plc_gst,
1765 gst); 1766 gst);
1767
1768 new_guest = GNUNET_NO;
1766 if (NULL == gst) 1769 if (NULL == gst)
1767 { 1770 {
1768 gst = GNUNET_new (struct Guest); 1771 gst = GNUNET_new (struct Guest);
1772 new_guest = GNUNET_YES;
1769 } 1773 }
1770 if (NULL == gst->slave) 1774 if (NULL == gst->slave)
1771 { 1775 {
@@ -1841,6 +1845,9 @@ guest_enter (const struct GuestEnterRequest *greq, struct Guest **ret_gst)
1841 plc_gst = GNUNET_CONTAINER_multihashmap_create (1, GNUNET_YES); 1845 plc_gst = GNUNET_CONTAINER_multihashmap_create (1, GNUNET_YES);
1842 (void) GNUNET_CONTAINER_multihashmap_put (place_guests, &plc->pub_key_hash, plc_gst, 1846 (void) GNUNET_CONTAINER_multihashmap_put (place_guests, &plc->pub_key_hash, plc_gst,
1843 GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_FAST); 1847 GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_FAST);
1848 }
1849 if (GNUNET_YES == new_guest)
1850 {
1844 (void) GNUNET_CONTAINER_multihashmap_put (plc_gst, &plc->ego_pub_hash, gst, 1851 (void) GNUNET_CONTAINER_multihashmap_put (plc_gst, &plc->ego_pub_hash, gst,
1845 GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_FAST); 1852 GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_FAST);
1846 (void) GNUNET_CONTAINER_multihashmap_put (guests, &plc->pub_key_hash, gst, 1853 (void) GNUNET_CONTAINER_multihashmap_put (guests, &plc->pub_key_hash, gst,