fts: Fix a potential memory leak in error case

Dan Krejsa reports a potential memory leak in an fts_build error case,
detected by Coverity.  (It doesn't seem to show up in Coverity Scan, so I
don't have a CID to point to.)

I don't know whether it is actually possible to arrive in this case with a
non-empty 'head' list.  The cost is low, though.  One additional branch in a
terminal error case isn't the end of the world.

PR:		217125
Submitted by:	Dan Krejsa <dan.krejsa at gmail.com>
This commit is contained in:
Conrad Meyer 2017-03-04 20:46:57 +00:00
parent 81a687a7ff
commit 8844cec8f3

View File

@ -850,6 +850,7 @@ mem1: saved_errno = errno;
(cur->fts_level == FTS_ROOTLEVEL ?
FCHDIR(sp, sp->fts_rfd) :
fts_safe_changedir(sp, cur->fts_parent, -1, ".."))) {
fts_lfree(head);
cur->fts_info = FTS_ERR;
SET(FTS_STOP);
return (NULL);