dropopts must not free()

This commit is contained in:
Gerhard Rieger 2012-07-22 18:00:55 +02:00
parent 5a5f1ed1bc
commit 5d052c84e1
2 changed files with 4 additions and 2 deletions

View file

@ -83,6 +83,9 @@ corrections:
UDP-LISTEN slept 1s after accepting a connection. This is not required. UDP-LISTEN slept 1s after accepting a connection. This is not required.
Thanks to Peter Valdemar Morch for reporting this issue Thanks to Peter Valdemar Morch for reporting this issue
fixed a bug that could lead to error or socat crash after a client
connection with option retry had been established
docu mentions option so-bindtodev but correct name is so-bindtodevice. docu mentions option so-bindtodev but correct name is so-bindtodevice.
Thanks to Jim Zimmerman for reporting. Thanks to Jim Zimmerman for reporting.

View file

@ -4153,9 +4153,8 @@ int _xio_openlate(struct single *xfd, struct opt *opts) {
int dropopts(struct opt *opts, unsigned int phase) { int dropopts(struct opt *opts, unsigned int phase) {
struct opt *opt; struct opt *opt;
/*!*/
if (phase == PH_ALL) { if (phase == PH_ALL) {
free(opts); opts[0].desc = ODESC_END;
return 0; return 0;
} }
opt = opts; while (opt && opt->desc != ODESC_END) { opt = opts; while (opt && opt->desc != ODESC_END) {