--- src/core/sipe-tls.c +++ src/core/sipe-tls.c.new @@ -427,7 +427,7 @@ gsize half = (secret_length + 1) / 2; gsize newseed_length = label_length + seed_length; /* secret: used as S1; secret2: last half of original secret (S2) */ - guchar *secret2 = g_memdup(secret + secret_length - half, half); + guchar *secret2 = g_memdup2(secret + secret_length - half, half); guchar *newseed = g_malloc(newseed_length); guchar *md5, *dest; guchar *sha1, *src; @@ -1525,7 +1525,7 @@ /* found all the required fields */ state->server_random.length = server_random->length; - state->server_random.buffer = g_memdup(server_random->data, + state->server_random.buffer = g_memdup2(server_random->data, server_random->length); tls_calculate_secrets(state);