diff --git a/CHANGES b/CHANGES index 5be7ed0..e1fa7a1 100644 --- a/CHANGES +++ b/CHANGES @@ -56,6 +56,9 @@ corrections: UDP-LISTEN slept 1s after accepting a connection. This is not required. 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 + porting: Cedril Priscal ported socat to Android (using Googles cross compiler). The port includes the socat_buildscript_for_android.sh script diff --git a/xioopts.c b/xioopts.c index ddd0fe8..0b66e9a 100644 --- a/xioopts.c +++ b/xioopts.c @@ -4173,9 +4173,8 @@ int _xio_openlate(struct single *fd, struct opt *opts) { int dropopts(struct opt *opts, unsigned int phase) { struct opt *opt; - /*!*/ if (phase == PH_ALL) { - free(opts); + opts[0].desc = ODESC_END; return 0; } opt = opts; while (opt && opt->desc != ODESC_END) {