aboutsummaryrefslogtreecommitdiff
path: root/src/namecache
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2014-06-17 20:31:24 +0000
committerChristian Grothoff <christian@grothoff.org>2014-06-17 20:31:24 +0000
commita1c356b49e7718828bf9473825a8f92db8353a4e (patch)
treec977023ae2f4242a97feeb869446554c2de06a7b /src/namecache
parent36499f2179303d2b86f438b7a81d46e7320277f6 (diff)
downloadgnunet-a1c356b49e7718828bf9473825a8f92db8353a4e.tar.gz
gnunet-a1c356b49e7718828bf9473825a8f92db8353a4e.zip
-bail out properly on error, fix leak
Diffstat (limited to 'src/namecache')
-rw-r--r--src/namecache/test_namecache_api_cache_block.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/namecache/test_namecache_api_cache_block.c b/src/namecache/test_namecache_api_cache_block.c
index f935ad159..ec3ddf0a9 100644
--- a/src/namecache/test_namecache_api_cache_block.c
+++ b/src/namecache/test_namecache_api_cache_block.c
@@ -195,11 +195,15 @@ run (void *cls,
195 rd.flags = 0; 195 rd.flags = 0;
196 memset ((char *) rd.data, 'a', TEST_RECORD_DATALEN); 196 memset ((char *) rd.data, 'a', TEST_RECORD_DATALEN);
197 block = GNUNET_GNSRECORD_block_create (privkey, 197 block = GNUNET_GNSRECORD_block_create (privkey,
198 GNUNET_TIME_UNIT_FOREVER_ABS, name, &rd, 1 ); 198 GNUNET_TIME_UNIT_FOREVER_ABS,
199 name, &rd, 1);
199 if (NULL == block) 200 if (NULL == block)
200 { 201 {
201 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 202 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
202 _("Namecache cannot cache no block\n")); 203 "Namecache cannot cache no block!\n");
204 GNUNET_SCHEDULER_shutdown ();
205 GNUNET_free (block);
206 return;
203 } 207 }
204 208
205 nsh = GNUNET_NAMECACHE_connect (cfg); 209 nsh = GNUNET_NAMECACHE_connect (cfg);
@@ -207,16 +211,21 @@ run (void *cls,
207 { 211 {
208 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 212 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
209 _("Namecache cannot connect to namecache\n")); 213 _("Namecache cannot connect to namecache\n"));
214 GNUNET_SCHEDULER_shutdown ();
215 GNUNET_free (block);
216 return;
210 } 217 }
211 GNUNET_break (NULL != nsh); 218 GNUNET_break (NULL != nsh);
212 219
213 nsqe = GNUNET_NAMECACHE_block_cache (nsh, block , &cache_cont, (void *) name); 220 nsqe = GNUNET_NAMECACHE_block_cache (nsh,
221 block,
222 &cache_cont, (void *) name);
214 if (NULL == nsqe) 223 if (NULL == nsqe)
215 { 224 {
216 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 225 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
217 _("Namecache cannot cache no block\n")); 226 _("Namecache cannot cache no block\n"));
218 } 227 }
219 228 GNUNET_free (block);
220 GNUNET_free ((void *)rd.data); 229 GNUNET_free ((void *)rd.data);
221} 230}
222 231