diff --git a/sesman/env.c b/sesman/env.c index cdac0f17..b8b2c030 100644 --- a/sesman/env.c +++ b/sesman/env.c @@ -55,6 +55,7 @@ env_check_password_file(const char *filename, const char *passwd) /* create password hash from password */ passwd_bytes = g_strlen(passwd); sha1 = ssl_sha1_info_create(); + ssl_sha1_clear(sha1); ssl_sha1_transform(sha1, "xrdp_vnc", 8); ssl_sha1_transform(sha1, passwd, passwd_bytes); ssl_sha1_transform(sha1, passwd, passwd_bytes); diff --git a/vnc/vnc.c b/vnc/vnc.c index 81e5ecd0..74861329 100644 --- a/vnc/vnc.c +++ b/vnc/vnc.c @@ -94,6 +94,7 @@ rfbHashEncryptBytes(char *bytes, const char *passwd) /* create password hash from password */ passwd_bytes = g_strlen(passwd); sha1 = ssl_sha1_info_create(); + ssl_sha1_clear(sha1); ssl_sha1_transform(sha1, "xrdp_vnc", 8); ssl_sha1_transform(sha1, passwd, passwd_bytes); ssl_sha1_transform(sha1, passwd, passwd_bytes); diff --git a/xrdp/xrdp_bitmap.c b/xrdp/xrdp_bitmap.c index efab0621..72aafff2 100644 --- a/xrdp/xrdp_bitmap.c +++ b/xrdp/xrdp_bitmap.c @@ -174,6 +174,7 @@ xrdp_bitmap_hash_crc(struct xrdp_bitmap *self) return 1; } hash = ssl_md5_info_create(); + ssl_md5_clear(hash); ssl_md5_transform(hash, self->data, bytes); ssl_md5_complete(hash, hash_data); ssl_md5_info_delete(hash);