Github user necouchman commented on a diff in the pull request:
https://github.com/apache/guacamole-server/pull/154#discussion_r199992638
--- Diff: src/protocols/rdp/guac_rdpdr/rdpdr_printer.c ---
@@ -165,9 +165,6 @@ static void
guac_rdpdr_device_printer_iorequest_handler(guac_rdpdr_device* devic
static void guac_rdpdr_device_printer_free_handler(guac_rdpdr_device*
device) {
- free(device->rdpdr);
- free((char *) device->device_name);
--- End diff --
So, actually, the `device->device_name` is passed by reference from the
`settings->printer_name` pointer, so if I try to free both
`device->device_name` (in this function) and `settings->printer_name` (in the
rdp_settings.c free function), I get a double free or corruption error. So
I've removed it out of here.
---