On Wed, Apr 25, 2018 at 10:56:43AM +0100, Anatoly Burakov wrote: > Normally, tailq entry should have a valid fd by the time we attempt > to map the segment. However, in case it doesn't, we're leaking fd, > so fix it. > > Coverity issue: 272570 > > Fixes: 2a04139f66b4 ("eal: add single file segments option") > Cc: anatoly.bura...@intel.com > > Signed-off-by: Anatoly Burakov <anatoly.bura...@intel.com> > --- > lib/librte_eal/linuxapp/eal/eal_memalloc.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/lib/librte_eal/linuxapp/eal/eal_memalloc.c > b/lib/librte_eal/linuxapp/eal/eal_memalloc.c > index fab5a98..b02e3a5 100644 > --- a/lib/librte_eal/linuxapp/eal/eal_memalloc.c > +++ b/lib/librte_eal/linuxapp/eal/eal_memalloc.c > @@ -524,6 +524,8 @@ alloc_seg(struct rte_memseg *ms, void *addr, int > socket_id, > if (te != NULL && te->fd >= 0) { > close(te->fd); > te->fd = -1;
Is "fd" still not being leaked here, since we won't hit the else case and then jump to the end of the function where it goes out of scope? > + } else { > + close(fd); > } > /* ignore errors, can't make it any worse */ > unlink(path); > -- > 2.7.4