summaryrefslogtreecommitdiffstats
path: root/win/vncviewer
diff options
context:
space:
mode:
authorPeter Åstrand <astrand@cendio.se>2008-12-03 11:57:18 +0000
committerPeter Åstrand <astrand@cendio.se>2008-12-03 11:57:18 +0000
commit8ace9157de31f768504d8b80ab49adcc88b25329 (patch)
tree01c89828a51e326cdf630bb9afe0914a77611be5 /win/vncviewer
parent73683202a937456b296115ba53c96795400ffbb8 (diff)
downloadtigervnc-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
Diffstat (limited to 'win/vncviewer')
-rw-r--r--win/vncviewer/CConn.cxx3
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));
}
}
}