From b1bf058d2a8b06aca24538ab58596117f3dece48 Mon Sep 17 00:00:00 2001 From: David Crosby Date: Sat, 25 Jul 2015 20:36:09 -0600 Subject: Check dup call for errors --- news.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'news.c') 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; -- cgit v1.2.3