ipaccess: Drop e1inp_line reference in ipacess_drop()
the bfd->data handles a reference to the e1np_line (obtained through
e1inp_line_get() during bfd setup), so remember to drop it under this
condition.
Related: OS#4624
Change-Id: I418064df04872befe2e936e21768b6ea01263120
diff --git a/src/input/ipaccess.c b/src/input/ipaccess.c
index 5d17839..08b34a4 100644
--- a/src/input/ipaccess.c
+++ b/src/input/ipaccess.c
@@ -92,6 +92,13 @@
osmo_fd_unregister(bfd);
close(bfd->fd);
bfd->fd = -1;
+ /* This is BSC code, ipaccess_drop() is only called for
+ accepted() sockets, hence the bfd holds a reference to
+ e1inp_line in ->data that needs to be released */
+ OSMO_ASSERT(bfd->data == line);
+ bfd->data = NULL;
+ e1inp_line_put2(line, "ipa_bfd");
+
ret = -ENOENT;
}