[asd-gogtrak] fix free/delete mismatch

This was using delete for a buffer allocated with calloc().
BTW this definition is more simple than previous.

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
This commit is contained in:
Salvador Cuñat 2024-12-30 23:05:31 +01:00
parent 2e3f7c25da
commit 28b7c48cea

View file

@ -514,11 +514,9 @@ static int asd_dive_parser(const std::string &input, struct dive *asd_dive, stru
goto bailout; goto bailout;
rc = libdc_buffer_parser(asd_dive, devdata.get(), dc_data, s); rc = libdc_buffer_parser(asd_dive, devdata.get(), dc_data, s);
if (rc != DC_STATUS_SUCCESS) { free(dc_data);
delete[] dc_data; if (rc != DC_STATUS_SUCCESS)
goto bailout; goto bailout;
}
delete[] dc_data;
// set serial in DC info, and set a node for the device. // set serial in DC info, and set a node for the device.
asd_dive->dcs[0].serial = std::to_string(dc_serial); asd_dive->dcs[0].serial = std::to_string(dc_serial);
create_device_node(log->devices, asd_dive->dcs[0].model, asd_dive->dcs[0].serial, asd_dive->dcs[0].model); create_device_node(log->devices, asd_dive->dcs[0].model, asd_dive->dcs[0].serial, asd_dive->dcs[0].model);