+There are missing calls of close() leading to resource leak (fd leak).\r
+Simple reproducer:\r
+. /\r
+and /proc/$$/fd contain one open fd for each above call\r
+\r
+Signed-off-by: Roman Rakus <rrakus@redhat.com>\r
+---\r
+ builtins/evalfile.c | 3 +++\r
+ 1 file changed, 3 insertions(+)\r
+\r
+diff --git a/builtins/evalfile.c b/builtins/evalfile.c\r
+index 60f89d1..d30bd96 100644\r
+--- a/builtins/evalfile.c\r
++++ b/builtins/evalfile.c\r
+@@ -133,11 +133,13 @@ file_error_and_exit:\r
+ if (S_ISDIR (finfo.st_mode))\r
+ {\r
+ (*errfunc) (_("%s: is a directory"), filename);\r
++ close(fd);\r
+ return ((flags & FEVAL_BUILTIN) ? EXECUTION_FAILURE : -1);\r
+ }\r
+ else if ((flags & FEVAL_REGFILE) && S_ISREG (finfo.st_mode) == 0)\r
+ {\r
+ (*errfunc) (_("%s: not a regular file"), filename);\r
++ close(fd);\r
+ return ((flags & FEVAL_BUILTIN) ? EXECUTION_FAILURE : -1);\r
+ }\r
+ \r
+@@ -146,6 +148,7 @@ file_error_and_exit:\r
+ if (file_size != finfo.st_size || file_size + 1 < file_size)\r
+ {\r
+ (*errfunc) (_("%s: file is too large"), filename);\r
++ close(fd);\r
+ return ((flags & FEVAL_BUILTIN) ? EXECUTION_FAILURE : -1);\r
+ } \r
+ \r
+-- \r
+1.7.11.7\r
+\r