diff options
-rw-r--r-- | src/ne_socket.c | 2 | ||||
-rw-r--r-- | test/auth.c | 7 | ||||
-rw-r--r-- | test/socket.c | 4 |
3 files changed, 10 insertions, 3 deletions
diff --git a/src/ne_socket.c b/src/ne_socket.c index c1a4230..898eba8 100644 --- a/src/ne_socket.c +++ b/src/ne_socket.c @@ -1468,8 +1468,8 @@ int ne_sock_sessid(ne_socket *sock, unsigned char *buf, size_t *buflen) return -1; } - memcpy(buf, sess->session_id, *buflen); *buflen = sess->session_id_length; + memcpy(buf, sess->session_id, *buflen); return 0; #endif #else diff --git a/test/auth.c b/test/auth.c index a0c87ee..7473346 100644 --- a/test/auth.c +++ b/test/auth.c @@ -700,6 +700,13 @@ static int serve_digest(ne_socket *sock, void *userdata) SEND_STRING(sock, resp); + /* Give up now if we've sent a challenge which should force the + * client to fail immediately: */ + if (parms->failure == fail_bogus_alg + || parms->failure == fail_req0_stale) { + return OK; + } + do { CALL(discard_request(sock)); diff --git a/test/socket.c b/test/socket.c index 5d69792..941064f 100644 --- a/test/socket.c +++ b/test/socket.c @@ -1027,14 +1027,14 @@ static int ssl_session_id(void) { size_t len2; - len2 = len1; + len2 = sizeof buf; ONN("could not retrieve session id", ne_sock_sessid(sock, buf, &len2)); ONN("buffer size changed!?", len1 != len2); } - ONN("buffer written past end", + ONN("buffer written past expected end", len1 < sizeof buf && buf[len1] != 'Z'); /* Attempt retrieval into too-short buffer: */ |