diff options
author | Christian Grothoff <christian@grothoff.org> | 2014-06-17 20:31:24 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2014-06-17 20:31:24 +0000 |
commit | a1c356b49e7718828bf9473825a8f92db8353a4e (patch) | |
tree | c977023ae2f4242a97feeb869446554c2de06a7b /src/namecache | |
parent | 36499f2179303d2b86f438b7a81d46e7320277f6 (diff) | |
download | gnunet-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.c | 17 |
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 | ||