diff options
author | tb@openbsd.org <tb@openbsd.org> | 2018-02-05 05:37:46 +0000 |
---|---|---|
committer | Darren Tucker <dtucker@dtucker.net> | 2018-02-07 07:50:46 +1100 |
commit | 3484380110d437c50e17f87d18544286328c75cb (patch) | |
tree | 15496664aa5eea31f3791f3791147243b726e304 /monitor.c | |
parent | 5069320be93c8b2a6584b9f944c86f60c2b04e48 (diff) |
upstream commit
Add a couple of non-negativity checks to avoid close(-1).
ok djm
OpenBSD-Commit-ID: 4701ce0b37161c891c838d0931305f1d37a50880
Diffstat (limited to 'monitor.c')
-rw-r--r-- | monitor.c | 14 |
1 files changed, 9 insertions, 5 deletions
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: monitor.c,v 1.178 2018/01/23 05:27:21 djm Exp $ */ | 1 | /* $OpenBSD: monitor.c,v 1.179 2018/02/05 05:37:46 tb Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright 2002 Niels Provos <provos@citi.umich.edu> | 3 | * Copyright 2002 Niels Provos <provos@citi.umich.edu> |
4 | * Copyright 2002 Markus Friedl <markus@openbsd.org> | 4 | * Copyright 2002 Markus Friedl <markus@openbsd.org> |
@@ -289,8 +289,10 @@ monitor_child_preauth(Authctxt *_authctxt, struct monitor *pmonitor) | |||
289 | 289 | ||
290 | debug3("preauth child monitor started"); | 290 | debug3("preauth child monitor started"); |
291 | 291 | ||
292 | close(pmonitor->m_recvfd); | 292 | if (pmonitor->m_recvfd >= 0) |
293 | close(pmonitor->m_log_sendfd); | 293 | close(pmonitor->m_recvfd); |
294 | if (pmonitor->m_log_sendfd >= 0) | ||
295 | close(pmonitor->m_log_sendfd); | ||
294 | pmonitor->m_log_sendfd = pmonitor->m_recvfd = -1; | 296 | pmonitor->m_log_sendfd = pmonitor->m_recvfd = -1; |
295 | 297 | ||
296 | authctxt = _authctxt; | 298 | authctxt = _authctxt; |
@@ -371,8 +373,10 @@ monitor_child_preauth(Authctxt *_authctxt, struct monitor *pmonitor) | |||
371 | while (pmonitor->m_log_recvfd != -1 && monitor_read_log(pmonitor) == 0) | 373 | while (pmonitor->m_log_recvfd != -1 && monitor_read_log(pmonitor) == 0) |
372 | ; | 374 | ; |
373 | 375 | ||
374 | close(pmonitor->m_sendfd); | 376 | if (pmonitor->m_recvfd >= 0) |
375 | close(pmonitor->m_log_recvfd); | 377 | close(pmonitor->m_recvfd); |
378 | if (pmonitor->m_log_sendfd >= 0) | ||
379 | close(pmonitor->m_log_sendfd); | ||
376 | pmonitor->m_sendfd = pmonitor->m_log_recvfd = -1; | 380 | pmonitor->m_sendfd = pmonitor->m_log_recvfd = -1; |
377 | } | 381 | } |
378 | 382 | ||