diff options
| author | Jay Sorg <jay.sorg@gmail.com> | 2015-08-20 12:47:10 -0700 |
|---|---|---|
| committer | Jay Sorg <jay.sorg@gmail.com> | 2015-08-20 12:47:10 -0700 |
| commit | e51175f6d8bd9cf845e82ddca41687cc7d54d425 (patch) | |
| tree | 3789e3067b29f1297cc6175913cdfa7998c994db | |
| parent | bd248ac2bea3cf7f866dcf2cc1d02f80ddac9db4 (diff) | |
| download | xrdp-proprietary-e51175f6d8bd9cf845e82ddca41687cc7d54d425.tar.gz xrdp-proprietary-e51175f6d8bd9cf845e82ddca41687cc7d54d425.zip | |
vnc: fix a issue with passwords longer that 8
| -rw-r--r-- | vnc/vnc.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -54,10 +54,12 @@ rfbEncryptBytes(char *bytes, char *passwd) { char key[24]; void *des; + int len; /* key is simply password padded with nulls */ g_memset(key, 0, sizeof(key)); - g_mirror_memcpy(key, passwd, g_strlen(passwd)); + len = MIN(g_strlen(passwd), 8); + g_mirror_memcpy(key, passwd, len); des = ssl_des3_encrypt_info_create(key, 0); ssl_des3_encrypt(des, 8, bytes, bytes); ssl_des3_info_delete(des); |
