Menu

#1918 Exception when clicking hyperlink in notes

KeePass_2.x
open
nobody
None
5
2020-10-28
2020-01-14
No
  • Open an Entry
  • Add a File location to the notes section like "\winsbs11\witec_gmbh\software r&d\filearchiv"
  • The string up to the first space character gets a hyperlink : "\winsbs11\witec_gmbh\software".
  • When I click on this hyperlink , the window can not be closed anymore and I get the following exception leading to a software crash:

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

** Exception Text **
System.NullReferenceException: Object reference not set to an instance of an object.
at KeePass.UI.PwInputControlGroup.ValidateData(Boolean bUIOnError)
at KeePass.Forms.PwEntryForm.SaveEntry(PwEntry peTarget, Boolean bValidate)
at KeePass.Forms.PwEntryForm.OnBtnOK(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

** Loaded Assemblies **
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.8.4042.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll


KeePass
Assembly Version: 2.43.0.18739
Win32 Version: 2.43.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/KeePass%20Password%20Safe%202/KeePass.exe


System
Assembly Version: 4.0.0.0
Win32 Version: 4.8.4001.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll


System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.8.4042.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll


System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.8.3752.0 built by: NET48REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll


System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.8.3752.0 built by: NET48REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll


System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.8.4042.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll


System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.8.3752.0 built by: NET48REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll


System.Security
Assembly Version: 4.0.0.0
Win32 Version: 4.8.3752.0 built by: NET48REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Security/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Security.dll


KeePass.XmlSerializers
Assembly Version: 2.43.0.18739
Win32 Version: 2.43.0.18739
CodeBase: file:///C:/Program%20Files%20(x86)/KeePass%20Password%20Safe%202/KeePass.XmlSerializers.DLL


Discussion

  • Henning Dampel

    Henning Dampel - 2020-01-14

    Password of example file is "test"

     
  • Paul

    Paul - 2020-01-14

    Works for me on Win 8.1, KeePas 2.43.

    cheers, Paul

     
  • Henning Dampel

    Henning Dampel - 2020-01-15

    Seems like you have a correct link.
    When I copy the whole path, it looks like this (the link stops after first space character).

     
  • Paul

    Paul - 2020-01-15

    Sorry, I put it in the URL field.
    Testing in Notes I don't get a hyperlink at all. Do you have a plug-in that does things with links?

    cheers, Paul

     
  • Paul

    Paul - 2020-01-15

    What happens if you put it in Notes surrounded by angle brackets?
    <\winsbs11\witec_gmbh\software r&d\filearchiv>

    cheers, Paul

     
  • Henning Dampel

    Henning Dampel - 2020-01-15

    No, it must start with \\notexistingcomputername\test test, otherwise there is no link to click.
    I also noticed that the exception only happens if you don't wait for the dialog, just immediately try to press ok/cancel/close window after clicking the link.

     

    Last edit: Henning Dampel 2020-01-15
  • Paul

    Paul - 2020-01-15

    I missed the double backslash - the forum software may have removed it.
    Now working as a clickable link and it produces the expected error without crashing.

    cheers, Paul

     
  • Henning Dampel

    Henning Dampel - 2020-01-15

    Its a bit hard to reproduce the exception. On my computer the dialog does not pop up immediately. When I try to close the entry window before the dialog pops up, then sometimes I get the exception.

     
  • Paul

    Paul - 2020-01-15

    That makes sense because KeePass is still waiting for your machine to respond.
    If the remote machine is available it should respond within 2 seconds and it should work as expected. If you have to wait for a DNS or machine response then you need to be patient.

    cheers, Paul

     
  • Andrew Stinson

    Andrew Stinson - 2020-10-27

    Using the double backslash as mentioned above along with the path specified, the link in the notes is clickable and the expected error occurs without the exception crash. Trying to close the window before the dialog window pops up does not result in an exception after around 10-20 attempts to close the window prematurely. Working on build 2.46.

     
  • Paul

    Paul - 2020-10-28

    Andrew, are you reporting ways to reproduce the problem or that it is fixed?

    cheers, Paul

     

Log in to post a comment.