diff options
Diffstat (limited to 'openbsc/src')
-rw-r--r-- | openbsc/src/ipaccess/ipaccess-proxy.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/openbsc/src/ipaccess/ipaccess-proxy.c b/openbsc/src/ipaccess/ipaccess-proxy.c index 9ab4ebbf4..ae24d1635 100644 --- a/openbsc/src/ipaccess/ipaccess-proxy.c +++ b/openbsc/src/ipaccess/ipaccess-proxy.c @@ -1005,6 +1005,13 @@ static struct ipa_proxy_conn *connect_bsc(struct sockaddr_in *sa, int priv_nr, v bfd->data = ipc; bfd->priv_nr = priv_nr; + if (bfd->fd < 0) { + LOGP(DLINP, LOGL_ERROR, "Could not create socket: %s\n", + strerror(errno)); + talloc_free(ipc); + return NULL; + } + setsockopt(bfd->fd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)); ret = connect(bfd->fd, (struct sockaddr *) sa, sizeof(*sa)); |