From 1d84ede061aeff0ceae84fe75083c02d6a5b84d8 Mon Sep 17 00:00:00 2001 From: Markus Volk Date: Thu, 9 Jan 2020 21:37:16 +0100 Subject: [PATCH] Revert "hdd_menu: avoid possible format-truncation errors" This reverts commit b702c89fca036ca32f828dc9eb07922a231eb85a. Signed-off-by: MarkusVolk Signed-off-by: Thilo Graf Origin commit data ------------------ Branch: ni/coolstream Commit: https://github.com/neutrino-images/ni-neutrino/commit/7754ca8e85368c79e3390bcc17aafbc94769ce63 Author: Markus Volk Date: 2020-01-09 (Thu, 09 Jan 2020) ------------------ This commit was generated by Migit --- src/gui/hdd_menu.cpp | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/src/gui/hdd_menu.cpp b/src/gui/hdd_menu.cpp index abf427d75..60201ddaf 100644 --- a/src/gui/hdd_menu.cpp +++ b/src/gui/hdd_menu.cpp @@ -670,17 +670,16 @@ bool CHDDMenuHandler::scanDevices() printf("HDD: root_dev: 0x%04x\n", root_dev); for(int i = 0; i < n;i++) { - char str[255]; + char str[256]; char vendor[128] = { 0 }; char model[128] = { 0 }; int64_t bytes = 0; int64_t megabytes; bool oldkernel = false; bool isroot = false; - size_t d_str_size = sizeof(namelist[i]->d_name); printf("HDD: checking /sys/block/%s\n", namelist[i]->d_name); - snprintf(str, sizeof(str)+d_str_size, "/dev/%s", namelist[i]->d_name); + snprintf(str, sizeof(str), "/dev/%s", namelist[i]->d_name); int fd = open(str, O_RDONLY); if (fd >= 0) { if (ioctl(fd, BLKGETSIZE64, &bytes)) @@ -703,11 +702,11 @@ bool CHDDMenuHandler::scanDevices() megabytes = bytes/1000000; - snprintf(str, sizeof(str)+d_str_size, "/sys/block/%s/device/vendor", namelist[i]->d_name); + snprintf(str, sizeof(str), "/sys/block/%s/device/vendor", namelist[i]->d_name); FILE * f = fopen(str, "r"); if(!f) { printf("Cant open %s\n", str); - snprintf(str, sizeof(str)+d_str_size, "/sys/block/%s/device/type", namelist[i]->d_name); + snprintf(str, sizeof(str), "/sys/block/%s/device/type", namelist[i]->d_name); f = fopen(str, "r"); } if (f) { @@ -720,13 +719,13 @@ bool CHDDMenuHandler::scanDevices() /* the Tripledragon only has kernel 2.6.12 available.... :-( */ if (oldkernel) - snprintf(str, sizeof(str)+d_str_size, "/proc/ide/%s/model", namelist[i]->d_name); + snprintf(str, sizeof(str), "/proc/ide/%s/model", namelist[i]->d_name); else - snprintf(str, sizeof(str)+d_str_size, "/sys/block/%s/device/model", namelist[i]->d_name); + snprintf(str, sizeof(str), "/sys/block/%s/device/model", namelist[i]->d_name); f = fopen(str, "r"); if(!f) { printf("Cant open %s\n", str); - snprintf(str, sizeof(str)+d_str_size, "/sys/block/%s/device/name", namelist[i]->d_name); + snprintf(str, sizeof(str), "/sys/block/%s/device/name", namelist[i]->d_name); f = fopen(str, "r"); } if (f) { @@ -755,8 +754,8 @@ bool CHDDMenuHandler::scanDevices() hdd.desc = hdd.devname; hdd_list.push_back(hdd); } - d_str_size = sizeof(vendor) + sizeof(model); - snprintf(str, sizeof(str)+d_str_size, "%s %s %ld %s", vendor, model, (long)(megabytes < 10000 ? megabytes : megabytes/1000), megabytes < 10000 ? "MB" : "GB"); + + snprintf(str, sizeof(str), "%s %s %ld %s", vendor, model, (long)(megabytes < 10000 ? megabytes : megabytes/1000), megabytes < 10000 ? "MB" : "GB"); printf("HDD: %s\n", str); devtitle[namelist[i]->d_name] = str; @@ -1457,7 +1456,7 @@ int CHDDDestExec::exec(CMenuTarget* /*parent*/, const std::string&) char M_opt[50],S_opt[50], opt[100]; snprintf(S_opt, sizeof(S_opt), "-S%d", g_settings.hdd_sleep); snprintf(M_opt, sizeof(M_opt), "-M%d", g_settings.hdd_noise); - snprintf(opt, sizeof(opt)+sizeof(namelist[i]->d_name), "/dev/%s",namelist[i]->d_name); + snprintf(opt, sizeof(opt), "/dev/%s",namelist[i]->d_name); if (have_nonbb_hdparm) my_system(4, hdparm, M_opt, S_opt, opt);