projects
/
privoxy.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Relocate ijb_isdigit()'s definition to project.h
[privoxy.git]
/
gateway.c
diff --git
a/gateway.c
b/gateway.c
index
aedbc89
..
2e43cb8
100644
(file)
--- a/
gateway.c
+++ b/
gateway.c
@@
-1,4
+1,4
@@
-const char gateway_rcs[] = "$Id: gateway.c,v 1.8
2 2011/10/23 11:21:28
fabiankeil Exp $";
+const char gateway_rcs[] = "$Id: gateway.c,v 1.8
3 2011/12/24 15:28:45
fabiankeil Exp $";
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/gateway.c,v $
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/gateway.c,v $
@@
-1116,6
+1116,15
@@
static jb_socket socks5_connect(const struct forward_spec *fwd,
assert(errstr != NULL);
csp->error_message = strdup(errstr);
assert(errstr != NULL);
csp->error_message = strdup(errstr);
+ if (server_size == -1)
+ {
+ /*
+ * We didn't read() anything from the server at all.
+ * Don't try to log a negative number of characters
+ * which could trigger an assert().
+ */
+ server_size = 0;
+ }
log_error(LOG_LEVEL_CONNECT, "socks5_connect: %s: %N", errstr, server_size, sbuf);
close_socket(sfd);
errno = EINVAL;
log_error(LOG_LEVEL_CONNECT, "socks5_connect: %s: %N", errstr, server_size, sbuf);
close_socket(sfd);
errno = EINVAL;