[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bash still dies when trying to write to a tcp socket that has been close
bash still dies when trying to write to a tcp socket that has been closed on the other end
Thu, 8 Nov 2007 16:07:41 +0100
KMail/1.9.6 (enterprise 20070904.708012)
Since nobody seemed to have noticed and the bug still exists in
> bash --version
GNU bash, version 3.2.25(1)-release (i586-suse-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
I thought I file my report once more.
I am trying to patch bash to have it open server sockets. While I
was debugging I found a problem with tcp sockets also present in the
unmodified bash. bash does not seem to notice that an opened
/dev/tcp/$host/$port file descriptor becomes invalid if the
connection is closed on the other end.
1. Open a second console and execute "netcat -l -p 5000"
2. switch back to first console
3. exec 5<>/dev/tcp/localhost/5000
4. echo "Hello World" >&5
5. switch to second console and hit <CTRL-C>
6. switch back to first console
7. echo "Hello World" >&5
8. echo "Hello World" >&5
bash: echo: write error: Datenübergabe unterbrochen (broken pipe)
bash has died
By the way, my suggestion and the patch for bash server sockets didn't
get any comments. So I assume that they will not be implemented?
- bash still dies when trying to write to a tcp socket that has been closed on the other end,
Ralf Goertz <=