Hi, all
One more bug was found out at work stunnel through a proxy. There is a reference to already released memory in fdprintf function.
Here a small fix of this situation:
*** network.c 2011-09-07 20:46:19.000000000 +0400 --- network.c_patch 2011-09-12 23:52:46.015618574 +0400 *************** *** 766,771 **** --- 766,772 ---- int fdprintf(CLI *c, int fd, const char *format, ...) { va_list ap; char *line; + int outsize;
va_start(ap, format); line=str_vprintf(format, ap); *************** *** 775,782 **** longjmp(c->err, 1); } fdputline(c, fd, line); str_free(line); ! return strlen(line)+2; }
#define INET_SOCKET_PAIR --- 776,784 ---- longjmp(c->err, 1); } fdputline(c, fd, line); + outsize = strlen(line)+2; str_free(line); ! return outsize; }
#define INET_SOCKET_PAIR
/ Alexey Drozdov