Skip to content

Serious Memory Leak!? "Container-Overflow" #567

@jestingly

Description

@jestingly

There appears to be a memory in the ix::Websocket instantiation. When I resize a vector then memcpy it, I get a UB overflow error. This only appears if I simply include the line:

// Attempt to connect to websocket server websocket = make_shared<ix::WebSocket>();

I do not run the line; the function is never called. Simply having this line inside a method and importing the file will cause a memory leak:

test0.
test1.
test2.
=================================================================
==7989==ERROR: AddressSanitizer: container-overflow on address 0x623000001d00 at pc 0x000108f5dbe1 bp 0x7ff7b8911270 sp 0x7ff7b8910a20
WRITE of size 6200 at 0x623000001d00 thread T0

If I do not include the file with a method that contains that line, my program runs fine after the memcpy procedure:

test0.
test1.
test2.
test3.

Not sure if it's one of the many dependencies (which is still serious enough to note documentation updates, please if you will) or the ixWebSocket itself. I know that C++ imports and sets up many internal pointers and memory allocations if it sees anywhere in the code that a class is being instantiated, whether or not that code is ever ran; so simply importing a file (again, not calling the method or instance) is causing this memory leak. I spent a day narrowing down the memory leak. It is specifically coming from that line above which is never called; it is simply located inside a test file that is merely imported. Nothing else in the file has any issues, I tried everything. It is that line, and that line alone—indicating there is in fact a memory leak.

Mac Intel binaries.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions