gdbsupport: fix memory leak in create_file_handler when re-using file handler
authorSimon Marchi <simon.marchi@polymtl.ca>
Thu, 2 Dec 2021 19:04:18 +0000 (14:04 -0500)
committerSimon Marchi <simon.marchi@polymtl.ca>
Sun, 5 Dec 2021 02:42:43 +0000 (21:42 -0500)
commit671fac7c4526b61143f860c4800047c3f7ff6fc4
tree026b4a16156c11ecfe011a8324317290c029e832
parente8f6cf14c97ef4221a78094c2fad4cdd06b7d97e
gdbsupport: fix memory leak in create_file_handler when re-using file handler

ASan made me notice a memory leak, where the memory tied to the file
handle name string wasn't freed.  When register a file handler with an
fd that is already registered, we re-use the file_handler object, so we
ended up creating a new std::string object and overwriting the
file_handler::name pointer, without free-ing the old std::string.

Fix this by allocating file_handler with new, deleting it with
delete, and making file_handler::name not a pointer.

Change-Id: Ie304cc78ab5ae5dfad9a1366e9890c09de651f43
gdbsupport/event-loop.cc