[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 01/18] vnc: Clean up vncws_send_handshake_response()
From: |
Stefan Hajnoczi |
Subject: |
[Qemu-devel] [PATCH 01/18] vnc: Clean up vncws_send_handshake_response() |
Date: |
Wed, 30 Jan 2013 11:24:10 +0100 |
From: Markus Armbruster <address@hidden>
Use appropriate types, drop superfluous casts, use sizeof, don't
exploit that this particular call of gnutls_fingerprint() doesn't
change its last argument.
Signed-off-by: Markus Armbruster <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
---
ui/vnc-ws.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/ui/vnc-ws.c b/ui/vnc-ws.c
index 9ccdc19..3e30209 100644
--- a/ui/vnc-ws.c
+++ b/ui/vnc-ws.c
@@ -120,10 +120,11 @@ static char *vncws_extract_handshake_entry(const char
*handshake,
static void vncws_send_handshake_response(VncState *vs, const char* key)
{
char combined_key[WS_CLIENT_KEY_LEN + WS_GUID_LEN + 1];
- char hash[SHA1_DIGEST_LEN];
- size_t hash_size = SHA1_DIGEST_LEN;
+ unsigned char hash[SHA1_DIGEST_LEN];
+ size_t hash_size = sizeof(hash);
char *accept = NULL, *response = NULL;
gnutls_datum_t in;
+ int ret;
g_strlcpy(combined_key, key, WS_CLIENT_KEY_LEN + 1);
g_strlcat(combined_key, WS_GUID, WS_CLIENT_KEY_LEN + WS_GUID_LEN + 1);
@@ -131,9 +132,9 @@ static void vncws_send_handshake_response(VncState *vs,
const char* key)
/* hash and encode it */
in.data = (void *)combined_key;
in.size = WS_CLIENT_KEY_LEN + WS_GUID_LEN;
- if (gnutls_fingerprint(GNUTLS_DIG_SHA1, &in, hash, &hash_size)
- == GNUTLS_E_SUCCESS) {
- accept = g_base64_encode((guchar *)hash, SHA1_DIGEST_LEN);
+ ret = gnutls_fingerprint(GNUTLS_DIG_SHA1, &in, hash, &hash_size);
+ if (ret == GNUTLS_E_SUCCESS && hash_size <= SHA1_DIGEST_LEN) {
+ accept = g_base64_encode(hash, hash_size);
}
if (accept == NULL) {
VNC_DEBUG("Hashing Websocket combined key failed\n");
--
1.8.1
- [Qemu-devel] [PULL 00/18] Trivial patches for 22 to 30 January 2013, Stefan Hajnoczi, 2013/01/30
- [Qemu-devel] [PATCH 1/4] hw: Spelling fix in log message, Stefan Hajnoczi, 2013/01/30
- [Qemu-devel] [PATCH 01/18] vnc: Clean up vncws_send_handshake_response(),
Stefan Hajnoczi <=
- [Qemu-devel] [PATCH 2/4] acpitable: open the data file in binary mode, Stefan Hajnoczi, 2013/01/30
- [Qemu-devel] [PATCH 03/18] cadence_gem: Debug mode compile fixes, Stefan Hajnoczi, 2013/01/30
- [Qemu-devel] [PATCH 02/18] cadence_ttc: Debug mode compile fixes, Stefan Hajnoczi, 2013/01/30
- [Qemu-devel] [PATCH 4/4] hw/tpci200: Fix compiler warning (redefined symbol with MinGW), Stefan Hajnoczi, 2013/01/30
- [Qemu-devel] [PATCH 3/4] configure: silence pkg-config's check for curses, Stefan Hajnoczi, 2013/01/30
- [Qemu-devel] [PATCH 04/18] xilinx_axidma: Fix debug mode compile messages, Stefan Hajnoczi, 2013/01/30
- [Qemu-devel] [PATCH 05/18] g_malloc(0) and g_malloc0(0) return NULL; simplify, Stefan Hajnoczi, 2013/01/30
- [Qemu-devel] [PATCH 10/18] virtfs-proxy-helper: Fix unchecked strdup() by conv. to g_strdup(), Stefan Hajnoczi, 2013/01/30
- [Qemu-devel] [PATCH 09/18] spice: Fix unchecked strdup() by converting to g_strdup(), Stefan Hajnoczi, 2013/01/30
- [Qemu-devel] [PATCH 15/18] qemu-ga: Fix unchecked strdup() by converting to g_strdup(), Stefan Hajnoczi, 2013/01/30