Hi Ola, El jue, 09-03-2006 a las 18:31 +0100, Ola Lundqvist escribió: > Hi > > On Thu, Mar 09, 2006 at 09:51:30AM -0300, Javier Kohen wrote: > ...CUT... > > > only support their "corporate version" that have much better > > > authentication > > > and other features. VNC is open source software without support from > > > upstream. > > > > I see... I didn't know that about upstream. > > > > Well, if you don't have time, let me know and I'll fix this. > > I may have time, but if you are able to help with this I would be greatful.
Here is the patch. The bug was caused by the lack of an explicit (int) constructor in class PlainPasswd. The compiler would then create an instance of ObfuscatedPasswd(int) to satisfy the PlainPasswd(const ObfuscatedPasswd&) constructor, which would cause the buffer to be deleted on destruction of the "phantom" obfuscated instance. The fix is trivial. Could you forward it upstream? Thanks, -- Javier Kohen <[EMAIL PROTECTED]> ICQ: blashyrkh #2361802 Jabber: [EMAIL PROTECTED]
--- common/rfb/Password.cxx~ 2005-03-11 12:08:41.000000000 -0300 +++ common/rfb/Password.cxx 2006-03-09 16:09:13.000000000 -0300 @@ -35,6 +35,9 @@ PlainPasswd::PlainPasswd() {} +PlainPasswd::PlainPasswd(int len) : CharArray(len) { +} + PlainPasswd::PlainPasswd(char* pwd) : CharArray(pwd) { } --- common/rfb/Password.h~ 2005-03-11 12:08:41.000000000 -0300 +++ common/rfb/Password.h 2006-03-09 16:08:55.000000000 -0300 @@ -27,6 +27,7 @@ class PlainPasswd : public CharArray { public: PlainPasswd(); + PlainPasswd(int l); PlainPasswd(char* pwd); PlainPasswd(const ObfuscatedPasswd& obfPwd); ~PlainPasswd();
signature.asc
Description: Esta parte del mensaje está firmada digitalmente