projects
/
freeradius.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
3c6753d
)
fclose destroys file descriptor Closes #1390
author
Arran Cudbard-Bell
<a.cudbardb@freeradius.org>
Mon, 16 Nov 2015 20:57:57 +0000
(15:57 -0500)
committer
Arran Cudbard-Bell
<a.cudbardb@freeradius.org>
Mon, 16 Nov 2015 20:58:04 +0000
(15:58 -0500)
src/lib/missing.c
patch
|
blob
|
history
diff --git
a/src/lib/missing.c
b/src/lib/missing.c
index
5782bb7
..
fd3e636
100644
(file)
--- a/
src/lib/missing.c
+++ b/
src/lib/missing.c
@@
-196,12
+196,19
@@
int vdprintf (int fd, const char *format, va_list args)
{
int ret;
FILE *fp;
+ int dup_fd;
+
+ dup_fd = dup(fd);
+ if (dup_fd < 0) return -1;
fp = fdopen(fd, "w");
- if (!fp) return -1;
+ if (!fp) {
+ close(dup_fd);
+ return -1;
+ }
ret = vfprintf(fp, format, args);
- fclose(fp);
+ fclose(fp);
/* Also closes dup_fd */
return ret;
}