From a6cfd181e89d67313532aeb8b5abbdc5540b43a6 Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Tue, 26 Jan 2021 19:00:48 +0100 Subject: [PATCH] downloader: don't leak device name For Uemis there was string-manipulation that leaked the temporary string. Use QString instead in order not to have to bother about such things. Signed-off-by: Berthold Stoeger --- cli-downloader.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/cli-downloader.cpp b/cli-downloader.cpp index a6a880e29..3eef0b2d5 100644 --- a/cli-downloader.cpp +++ b/cli-downloader.cpp @@ -14,11 +14,11 @@ void cliDownloader(const char *vendor, const char *product, const char *device) data->setProduct(product); data->setBluetoothMode(false); if (data->vendor() == "Uemis") { - char *colon; - char *devname = strdup(device); - if ((colon = strstr(devname, ":\\ (UEMISSDA)")) != NULL) { - *(colon + 2) = '\0'; - fprintf(stderr, "shortened devname to \"%s\"", devname); + QString devname(device); + int colon = devname.indexOf(QStringLiteral(":\\ (UEMISSDA)")); + if (colon >= 0) { + devname.truncate(colon + 2); + fprintf(stderr, "shortened devname to \"%s\"", qPrintable(devname)); } data->setDevName(devname); } else {