repo: ngircd
action: commit
revision: 
path_from: 
revision_from: cc06e1ff89ae4b7ffc8d95a8ab1d9b6787a5d142:
path_to: 
revision_to: 
git.thebackupbox.net
ngircd
git clone git://git.thebackupbox.net/ngircd
commit cc06e1ff89ae4b7ffc8d95a8ab1d9b6787a5d142
Author: Alexander Barton 
Date:   Fri Jan 6 02:26:04 2012 +0100

    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 7addb47ef30c804e889b6a49d390e2505ae8e1b2..
index ..e062cd0b7c702494a3992e8bfe1beab2a348113a 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);
 }

-----END OF PAGE-----