diff options
author | Peter Åstrand <astrand@cendio.se> | 2008-12-03 11:57:18 +0000 |
---|---|---|
committer | Peter Åstrand <astrand@cendio.se> | 2008-12-03 11:57:18 +0000 |
commit | 8ace9157de31f768504d8b80ab49adcc88b25329 (patch) | |
tree | 01c89828a51e326cdf630bb9afe0914a77611be5 | |
parent | 73683202a937456b296115ba53c96795400ffbb8 (diff) | |
download | tigervnc-8ace9157de31f768504d8b80ab49adcc88b25329.tar.gz tigervnc-8ace9157de31f768504d8b80ab49adcc88b25329.zip |
Fix -PasswordFile, which was causing asserts. Since we are providing
our own buffer for ObfuscatedPasswd, we need to take it (so that it's
set to zero) to prevent CharArray destructor from trying to free it.
Also, memset the fixed length of the data variable, rather than rely
on strlen, since the string might not be null terminated.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3288 3789f03b-4d11-0410-bbf8-ca57d06f2519
-rw-r--r-- | win/vncviewer/CConn.cxx | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/win/vncviewer/CConn.cxx b/win/vncviewer/CConn.cxx index 4a9b341a..94ce8915 100644 --- a/win/vncviewer/CConn.cxx +++ b/win/vncviewer/CConn.cxx @@ -738,8 +738,9 @@ void CConn::getUserPasswd(char** user, char** password) { obfPwd.buf = data; obfPwd.length = datalen; PlainPasswd passwd(obfPwd); + obfPwd.takeBuf(); *password = strDup(passwd.buf); - memset(data, 0, strlen(data)); + memset(data, 0, sizeof(data)); } } } |