From 079a26e5e56d204ff88572e46a7e5423ef08ddbb Mon Sep 17 00:00:00 2001 From: Jared Males Date: Tue, 19 Dec 2023 20:40:08 -0700 Subject: [PATCH] moved a memory alloc until its needed --- gui/scripts/dmdisp.sh | 3 --- utils/logsurgeon/logsurgeon.hpp | 20 ++++++++++++++++++-- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/gui/scripts/dmdisp.sh b/gui/scripts/dmdisp.sh index a0b32c1d0..88c8eee7e 100755 --- a/gui/scripts/dmdisp.sh +++ b/gui/scripts/dmdisp.sh @@ -11,15 +11,12 @@ shift #removes the name from args case ${DMNAME} in woofer ) - dmctrl=dmwoofer dmindex=00 ;; tweeter ) - dmctrl=dmtweeter dmindex=01 ;; ncpc ) - dmctrl=dmncpc dmindex=02 ;; * ) diff --git a/utils/logsurgeon/logsurgeon.hpp b/utils/logsurgeon/logsurgeon.hpp index 55e6e2a4a..69420082c 100644 --- a/utils/logsurgeon/logsurgeon.hpp +++ b/utils/logsurgeon/logsurgeon.hpp @@ -85,14 +85,13 @@ int logsurgeon::execute() char * buff = new char[fsz]; - char * gbuff = new char[fsz]; ssize_t nrd = fread(buff, 1, fsz, fin); if(nrd != fsz) { std::cerr << __FILE__ << " " << __LINE__ << " did not read complete file.\n"; + fclose(fin); delete[] buff; - delete[] gbuff; return -1; } @@ -107,6 +106,8 @@ int logsurgeon::execute() ssize_t badSt = 0; ssize_t kpt = sizeof(logPrioT); + char * gbuff = new char[fsz]; + //Now check each byte to see if it is a potential start of a valid log while(kpt < fsz) { @@ -187,6 +188,8 @@ int logsurgeon::execute() else if (m_checkOnly) { std::cerr << "Check-only mode set, exiting with error status to indicate failed verification\n"; + delete[] buff; + delete[] gbuff; return EXIT_FAILURE; } else @@ -200,6 +203,8 @@ int logsurgeon::execute() { std::cerr << "Error opening corrupted file for writing (" __FILE__ << " " << __LINE__ << ")\n"; std::cerr << "No further action taken\n"; + delete[] buff; + delete[] gbuff; return EXIT_FAILURE; } @@ -211,6 +216,8 @@ int logsurgeon::execute() { std::cerr << "Error writing backup corrupted file (" __FILE__ << " " << __LINE__ << ")\n"; std::cerr << "No further action taken\n"; + delete[] buff; + delete[] gbuff; return EXIT_FAILURE; } @@ -218,6 +225,8 @@ int logsurgeon::execute() { std::cerr << "Error closing backup corrupted file (" __FILE__ << " " << __LINE__ << ")\n"; std::cerr << "No further action taken\n"; + delete[] buff; + delete[] gbuff; return EXIT_FAILURE; } @@ -229,6 +238,9 @@ int logsurgeon::execute() { std::cerr << "Error opening existing file for writing (" __FILE__ << " " << __LINE__ << ")\n"; std::cerr << "No further action taken\n"; + + delete[] buff; + delete[] gbuff; return EXIT_FAILURE; } @@ -239,12 +251,16 @@ int logsurgeon::execute() if(fwr != gcurr) { std::cerr << "Error writing corrected file (" __FILE__ << " " << __LINE__ << ")\n"; + delete[] buff; + delete[] gbuff; return EXIT_FAILURE; } if(fcst != 0) { std::cerr << "Error closing corrected file (" __FILE__ << " " << __LINE__ << ")\n"; + delete[] buff; + delete[] gbuff; return EXIT_FAILURE; }