Skip to content

fixed minor memory leak when exporting the parameters to XML#149

Merged
donho merged 1 commit intonotepad-plus-plus:masterfrom
milipili:xml-memory-leaks
Jun 1, 2015
Merged

fixed minor memory leak when exporting the parameters to XML#149
donho merged 1 commit intonotepad-plus-plus:masterfrom
milipili:xml-memory-leaks

Conversation

@milipili
Copy link
Contributor

When I was analyzing each step via the debugger, I've found a minor memory leak
when the parameters are saved.
The XML node was obviously not destroyed. However, since it occurs when quitting the application
(AFAIK), this memory leak should not even be visible by the user.

When writing the parameters as a XML file (when the application quits), a new
node was created but not destroyed (`InsertEndChild` makes a clone of the
given node).
@milipili milipili added the enhancement Proposed enhancements of existing features label May 31, 2015
donho added a commit that referenced this pull request Jun 1, 2015
[BUG_FIXED] fixed minor memory leak when exporting the parameters to XML.
@donho donho merged commit ea4b409 into notepad-plus-plus:master Jun 1, 2015
@ariccio
Copy link
Contributor

ariccio commented Jun 15, 2015

Turn on Application Verifier's Leak detection. You'll see hundreds of these.

@ariccio
Copy link
Contributor

ariccio commented Jun 16, 2015

As an example, here's a log from WinDbg:

=======================================
VERIFIER STOP 00000901: pid 0x4E4C: A HANDLE was leaked. 

    000001E4 : Value of the leaked handle. Run !htrace <handle> to get additional information about the handle if handle tracing is enabled.
    0584A614 : Address to the allocation stack trace. Run dps <address> to view the allocation stack.
    0BD12FDA : Address of the owner dll name. Run du <address> to read the dll name.
    16850000 : Base of the owner dll. Run .reload <dll_name> = <address> to reload the owner dll. Use 'lm' to get more information about the loaded and unloaded modules.


=======================================
This verifier stop is continuable.
After debugging it use `go' to continue.

=======================================



=======================================
VERIFIER STOP 00000900: pid 0x4E4C: A heap allocation was leaked. 

    0AED3F58 : Address of the leaked allocation. Run !heap -p -a <address> to get additional information about the allocation.
    058130D4 : Address to the allocation stack trace. Run dps <address> to view the allocation stack.
    0908EFE2 : Address of the owner dll name. Run du <address> to read the dll name.
    60AA0000 : Base of the owner dll. Run .reload <dll_name> = <address> to reload the owner dll. Use 'lm' to get more information about the loaded and unloaded modules.

[....]

@milipili
Copy link
Contributor Author

Seriously @ariccio ...... (I've reduced your post)

@ariccio
Copy link
Contributor

ariccio commented Jun 25, 2015

sarcasm

Why not reduce the memory leaks instead?

/sarcasm

Sorry, I couldn't resist.

@milipili
Copy link
Contributor Author

Because your ways for doing things begins to really annoys me ?
Sorry, I couldn't resist either :)

@milipili milipili modified the milestone: 6.x Jun 29, 2015
chcg added a commit to chcg/notepad-plus-plus that referenced this pull request Mar 13, 2023
    Released 13 March 2023.
    C++: Fix failure to recognize keywords containing upper case. Issue notepad-plus-plus#149.
    GDScript: Support % and $ node paths. Issue notepad-plus-plus#145, Pull request notepad-plus-plus#146.
donho pushed a commit that referenced this pull request Mar 13, 2023
https://www.scintilla.org/scintilla534.zip

    Released 8 March 2023.
    Add multithreaded wrap to significantly improve performance of wrapping large files.
    More typesafe bindings of *Full APIs in ScintillaCall. Feature #1477.
    Fix overlapping of text with line end wrap marker. Bug #2378.
    Fix clipping of line end wrap symbol for SC_WRAPVISUALFLAGLOC_END_BY_TEXT.
    Where a multi-byte character contains multiple styles, display each byte as a representation. This makes it easier to see and fix lexers that change styles mid-character, commonly because they use fixed size buffers.
    Fix a potential crash with autocompletion list fill-ups where a SCN_CHARADDED handler retriggered an autocompletion list, but with no items that match the typed character.

lexilla523

    Released 8 March 2023.
    Add scripts/PromoteNew.bat script to promote .new files after checking.
    Makefile: Remove 1024-byte line length limit..
    Ruby: Add new lexical classes for % literals SCE_RB_STRING_W (%w non-interpolable string array), SCE_RB_STRING_I (%i non-interpolable symbol array), SCE_RB_STRING_QI (%I interpolable symbol array), and SCE_RB_STRING_QS (%s symbol). Issue #124.
    Ruby: Disambiguate %= which may be a quote or modulo assignment. Issue #124, Bug #1255, Bug #2182.
    Ruby: Fix additional fold level for single character in SCE_RB_STRING_QW. Issue #132.
    Ruby: Set SCE_RB_HERE_QQ for unquoted and double-quoted heredocs and SCE_RB_HERE_QX for backticks-quoted heredocs. Issue #134.
    Ruby: Recognise #{} inside SCE_RB_HERE_QQ and SCE_RB_HERE_QX. Issue #134.
    Ruby: Improve regex and heredoc recognition. Issue #136.
    Ruby: Highlight #@, #@@ and #$ style interpolation. Issue #140.
    Ruby: Fix folding for multiple heredocs started on one line. Fix folding when there is a space after heredoc opening delimiter. Issue #135.
    YAML: Remove 1024-byte line length limit.

https://www.scintilla.org/lexilla524.zip

    Released 13 March 2023.
    C++: Fix failure to recognize keywords containing upper case. Issue #149.
    GDScript: Support % and $ node paths. Issue #145, Pull request #146.

Close #13338
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement Proposed enhancements of existing features

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants