Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
P
poppler
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 612
    • Issues 612
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 39
    • Merge Requests 39
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • poppler
  • poppler
  • Issues
  • #1006

Closed
Open
Opened Dec 08, 2020 by a b@followait

Memory leak on Windows

Simple code leaks. While comment out a little code of poppler, no leak any more.

The code leak on Windows

#define WXUSINGDLL
#include <wx/log.h> // this leads to memory leak, if comment out this line, no memory leak will
#include <poppler/cpp/poppler-page.h>

int main()
{
    poppler::page * __page = nullptr;
    if (__page != nullptr)
        delete __page;
    return 0;
}

When comment out the 2 parts of class page as below, no leak. And uncomment any will lead to memory leak

class POPPLER_CPP_EXPORT page// : public poppler::noncopyable
{
public:
...
//    ~page();
...
}
class POPPLER_CPP_EXPORT noncopyable
{
public:
    noncopyable(const noncopyable &) = delete;
    const noncopyable &operator=(const noncopyable &) = delete;

protected:
    noncopyable();
    ~noncopyable();
};

The other way, comment out #define WXUSINGDLL also leads to no leak.

Edited Dec 08, 2020 by a b
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: poppler/poppler#1006