fix a seg fault with autodetecting which controller version is being used

svn:r4531
This commit is contained in:
Roger Dingledine 2005-07-12 05:48:15 +00:00
parent 63f9a8baa2
commit 8f9790a023
2 changed files with 3 additions and 3 deletions

View File

@ -1082,7 +1082,7 @@ fetch_from_buf_socks(buf_t *buf, socks_request_t *req)
#define CONTROL_CMD_FRAGMENTHEADER 0x0010 #define CONTROL_CMD_FRAGMENTHEADER 0x0010
#define CONTROL_CMD_FRAGMENT 0x0011 #define CONTROL_CMD_FRAGMENT 0x0011
/** If there is a complete version 0control message waiting on buf, then store /** If there is a complete version 0 control message waiting on buf, then store
* its contents into *<b>type_out</b>, store its body's length into * its contents into *<b>type_out</b>, store its body's length into
* *<b>len_out</b>, allocate and store a string for its body into * *<b>len_out</b>, allocate and store a string for its body into
* *<b>body_out</b>, and return 1. (body_out will always be NUL-terminated, * *<b>body_out</b>, and return 1. (body_out will always be NUL-terminated,

View File

@ -1948,7 +1948,7 @@ connection_control_process_inbuf_v0(connection_t *conn)
{ {
uint32_t body_len; uint32_t body_len;
uint16_t command_type; uint16_t command_type;
char *body; char *body=NULL;
again: again:
/* Try to suck a control message from the buffer. */ /* Try to suck a control message from the buffer. */
@ -1957,7 +1957,7 @@ connection_control_process_inbuf_v0(connection_t *conn)
{ {
case -2: case -2:
tor_free(body); tor_free(body);
log_fn(LOG_INFO, "Detected v1 contol protocol on connection (fd %d)", log_fn(LOG_INFO, "Detected v1 control protocol on connection (fd %d)",
conn->s); conn->s);
conn->state = CONTROL_CONN_STATE_NEEDAUTH_V1; conn->state = CONTROL_CONN_STATE_NEEDAUTH_V1;
return connection_control_process_inbuf_v1(conn); return connection_control_process_inbuf_v1(conn);