diff options
author | Christian Grothoff <christian@grothoff.org> | 2016-09-26 16:07:30 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2016-09-26 16:07:30 +0000 |
commit | 736ff56bade57c6b2e5f6b593d2f79e10d6e6705 (patch) | |
tree | c2a89721181344eba70b529478846e58d2ad2232 /src/util | |
parent | ea5dba2343416eb8f049eb55accf05b6b56d8d10 (diff) | |
download | gnunet-736ff56bade57c6b2e5f6b593d2f79e10d6e6705.tar.gz gnunet-736ff56bade57c6b2e5f6b593d2f79e10d6e6705.zip |
-do not crash with NPE if bind fails
Diffstat (limited to 'src/util')
-rw-r--r-- | src/util/service_new.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/util/service_new.c b/src/util/service_new.c index 0b9e8fd82..c15d98161 100644 --- a/src/util/service_new.c +++ b/src/util/service_new.c | |||
@@ -1275,7 +1275,13 @@ setup_service (struct GNUNET_SERVICE_Handle *sh) | |||
1275 | slc->sh = sh; | 1275 | slc->sh = sh; |
1276 | slc->listen_socket = open_listen_socket (addrs[i], | 1276 | slc->listen_socket = open_listen_socket (addrs[i], |
1277 | addrlens[i]); | 1277 | addrlens[i]); |
1278 | GNUNET_break (NULL != slc->listen_socket); | 1278 | if (NULL == slc->listen_socket) |
1279 | { | ||
1280 | GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, | ||
1281 | "bind"); | ||
1282 | GNUNET_free (slc); | ||
1283 | continue; | ||
1284 | } | ||
1279 | GNUNET_CONTAINER_DLL_insert (sh->slc_head, | 1285 | GNUNET_CONTAINER_DLL_insert (sh->slc_head, |
1280 | sh->slc_tail, | 1286 | sh->slc_tail, |
1281 | slc); | 1287 | slc); |
@@ -1283,12 +1289,12 @@ setup_service (struct GNUNET_SERVICE_Handle *sh) | |||
1283 | } | 1289 | } |
1284 | 1290 | ||
1285 | sh->require_found = tolerant ? GNUNET_NO : GNUNET_YES; | 1291 | sh->require_found = tolerant ? GNUNET_NO : GNUNET_YES; |
1286 | sh->match_uid = | 1292 | sh->match_uid |
1287 | GNUNET_CONFIGURATION_get_value_yesno (sh->cfg, | 1293 | = GNUNET_CONFIGURATION_get_value_yesno (sh->cfg, |
1288 | sh->service_name, | 1294 | sh->service_name, |
1289 | "UNIX_MATCH_UID"); | 1295 | "UNIX_MATCH_UID"); |
1290 | sh->match_gid = | 1296 | sh->match_gid |
1291 | GNUNET_CONFIGURATION_get_value_yesno (sh->cfg, | 1297 | = GNUNET_CONFIGURATION_get_value_yesno (sh->cfg, |
1292 | sh->service_name, | 1298 | sh->service_name, |
1293 | "UNIX_MATCH_GID"); | 1299 | "UNIX_MATCH_GID"); |
1294 | process_acl4 (&sh->v4_denied, | 1300 | process_acl4 (&sh->v4_denied, |