From: Alexander Barton Date: Fri, 6 Jan 2012 01:26:04 +0000 (+0100) Subject: Proc_Close(): Only close socket if it is still valid X-Git-Tag: rel-19-rc1~55 X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=commitdiff_plain;h=cc06e1ff89ae4b7ffc8d95a8ab1d9b6787a5d142 Proc_Close(): Only close socket if it is still valid It could be invalid when calling Proc_Close() a 2nd time, for exmaple, which could happen when we hit a timeout doing IDENT requests :-( --- diff --git a/src/ngircd/proc.c b/src/ngircd/proc.c index 7addb47e..e062cd0b 100644 --- a/src/ngircd/proc.c +++ b/src/ngircd/proc.c @@ -154,7 +154,10 @@ Proc_Read(PROC_STAT *proc, void *buffer, size_t buflen) GLOBAL void Proc_Close(PROC_STAT *proc) { - io_close(proc->pipe_fd); + /* Close socket, if it exists */ + if (proc->pipe_fd >= 0) + io_close(proc->pipe_fd); + Proc_InitStruct(proc); }