ashkulz / NppFTP

Plugin for Notepad++ allowing FTP, FTPS, FTPES and SFTP communications
https://ashkulz.github.io/NppFTP/
320 stars 93 forks source link

Access Violation #262

Closed misterunix closed 4 years ago

misterunix commented 5 years ago

Description of the Issue

When closing Notepad++ after adding and connecting to a remote server using sftp, An exception occurred due to plugin: NppFTP.dll Exception reason: Access violation

Steps to Reproduce the Issue

  1. Notepad++ 7.7.1 x64 / NppFTP 0.29
  2. Add a ssh user / pass
  3. Close notepad++

Expected Behavior

Save the config for future use and close cleanly.

Actual Behavior

After adding an connection, Exception happens.

Debug Information

Notepad++ v7.7.1 (64-bit) Build time : Jun 16 2019 - 21:24:47 Path : D:\NPP\notepad++.exe Admin mode : OFF Local Conf mode : ON OS : Windows 10 (64-bit) Plugins : mimeTools.dll NppConverter.dll NppFTP.dll

NppFTP, Copyright 2010-2017 Created by Harry ( harrybharry@users.sourceforge.net ) Maintained by Ashish Kulkarni (kulkarni.ashish@gmail.com) and Christian Grasser (christian.grasser@web.de)

Press Show FTP Window to get started, and read the documentation (if any) when you get stuck. For help, info and updates, visit the site by clicking the button below.

Enjoy the comfort of transferring your files from your favorite editor! =)

NppFTP works because of the effort put in the following libraries/projects:

SFTP

user / pass

local in house CentOS Linux release 7.3.1611

chcg commented 5 years ago

Can't reproduce with SFTP test access from https://test.rebex.net/

neosixSV commented 5 years ago

same error. it's ok with 0.28.4 version, so downgrade dll

chcg commented 4 years ago

Just reproduced the behaviour with latest 0.30.0 version.

Caused by nullpointer issue at:

    NppFTP.dll!strlen() Zeile 70    Unbekannt
    NppFTP.dll!TiXmlString::operator=(const char * copy) Zeile 99   C++
    NppFTP.dll!TiXmlAttribute::SetValue(const char * _value) Zeile 836  C++
    NppFTP.dll!TiXmlElement::SetAttribute(const char * cname, const char * cvalue) Zeile 786    C++
>   NppFTP.dll!FTPProfile::SaveProfile() Zeile 742  C++
    NppFTP.dll!FTPProfile::SaveProfiles(const std::vector<FTPProfile *,std::allocator<FTPProfile *> > profiles) Zeile 595   C++
    NppFTP.dll!NppFTP::SaveSettings() Zeile 292 C++
    NppFTP.dll!NppFTP::Stop() Zeile 120 C++
    NppFTP.dll!beNotified(SCNotification * scNotification) Zeile 116    C++
  Name Wert Typ
m_parent 0x0000000000000000 wchar_t *
profileElem 0x0000017993fbd610 {attributeSet={sentinel={document=0x0000000000000000 name={rep=0x00007ff9ecb2dae8 {NppFTP.dll!TiXmlString::Rep TiXmlString::nullrep} {...} } ...} } } TiXmlElement *
this 0x0000017993f9da80 {m_refcounter=0xcdcdcdcd m_name=0x0000017993ef75d0 L"test3" m_parent=0x0000000000000000 ...} FTPProfile *
utf8parent 0x0000000000000000 char *

See https://stackoverflow.com/questions/5796103/strlen-not-checking-for-null

Introduced with PR #259

chcg commented 4 years ago

see https://github.com/ashkulz/NppFTP/releases/tag/v0.30.1