aboutsummaryrefslogtreecommitdiffstats
path: root/news.c
diff options
context:
space:
mode:
Diffstat (limited to 'news.c')
-rw-r--r--news.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/news.c b/news.c
index 8a1f0e8..c0494b7 100644
--- a/news.c
+++ b/news.c
@@ -76,13 +76,15 @@ news_close(News * news)
static int
news_open(News * news)
{
- int sock, status;
+ int sock, status, fd;
sock = openSocket(news->host, "nntp", news->port);
if (sock < 0)
goto open_err;
news->rf = newInputStream(sock);
- news->wf = fdopen(dup(sock), "wb");
+ if ((fd = dup(sock)) < 0)
+ goto open_err;
+ news->wf = fdopen(fd, "wb");
if (!news->rf || !news->wf)
goto open_err;
IStype(news->rf) |= IST_UNCLOSE;