commit cc06e1ff89ae4b7ffc8d95a8ab1d9b6787a5d142 from: Alexander Barton date: Fri Jan 06 01:26:04 2012 UTC 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 :-( commit - 9fbf592924d4ed1e37b42f295ec9c9ab0fc3cd08 commit + cc06e1ff89ae4b7ffc8d95a8ab1d9b6787a5d142 blob - 7addb47ef30c804e889b6a49d390e2505ae8e1b2 blob + e062cd0b7c702494a3992e8bfe1beab2a348113a --- src/ngircd/proc.c +++ 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); }