From: Pablo Neira Ayuso <pablo(a)gnumonks.org>
Holger reported a leak in the ipaccess_drop path. It seems I forgot
to call e1inp_line_put twice, one for the OML link and one for the
RSL link.
Note that, for some fully established A-bis IPA link, the refcnt
of the e1inp_line becomes two.
---
src/input/ipaccess.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/input/ipaccess.c b/src/input/ipaccess.c
index 76d1994..44a5a59 100644
--- a/src/input/ipaccess.c
+++ b/src/input/ipaccess.c
@@ -250,7 +250,10 @@ static int ipaccess_drop(struct osmo_fd *bfd)
ret = -ENOENT;
}
/* put the virtual E1 line that we cloned for this socket, if
- * it becomes unused, it gets released. */
+ * it becomes unused, it gets released. We have to make it
+ * twice: once for the OML link and once for the RSL link
+ */
+ e1inp_line_put(line);
e1inp_line_put(line);
return ret;
}
--
1.7.10.4