Hi All,
>From NetBSD:
Fix file descriptor leak. Found by cppcheck.
Index: src/libexec/ld.so/ldconfig/ldconfig.c
===================================================================
RCS file: /cvs/src/libexec/ld.so/ldconfig/ldconfig.c,v
retrieving revision 1.31
diff -u -p -r1.31 ldconfig.c
--- src/libexec/ld.so/ldconfig/ldconfig.c 13 Nov 2013 05:41:42 -0000
1.31
+++ src/libexec/ld.so/ldconfig/ldconfig.c 29 Dec 2013 11:53:38 -0000
@@ -416,16 +416,16 @@ buildhints(void)
if (write(fd, &hdr, sizeof(struct hints_header)) !=
sizeof(struct hints_header)) {
warn("%s", _PATH_LD_HINTS);
- goto out;
+ goto fdout;
}
if (write(fd, blist, hdr.hh_nbucket * sizeof(struct hints_bucket)) !=
hdr.hh_nbucket * sizeof(struct hints_bucket)) {
warn("%s", _PATH_LD_HINTS);
- goto out;
+ goto fdout;
}
if (write(fd, strtab, strtab_sz) != strtab_sz) {
warn("%s", _PATH_LD_HINTS);
- goto out;
+ goto fdout;
}
if (close(fd) != 0) {
warn("%s", _PATH_LD_HINTS);
@@ -438,6 +438,8 @@ buildhints(void)
}
ret = 0;
+fdout:
+ (void)close(fd);
out:
free(blist);
free(strtab);