diff --git a/src/debug/debug.cpp b/src/debug/debug.cpp index ae573722..d85cd832 100644 --- a/src/debug/debug.cpp +++ b/src/debug/debug.cpp @@ -2174,11 +2174,11 @@ CDebugVar* CDebugVar::FindVar(PhysPt pt) return 0; }; -bool CDebugVar::SaveVars(char* name) -{ +bool CDebugVar::SaveVars(char* name) { + if (varList.size()>65535) return false; + FILE* f = fopen(name,"wb+"); if (!f) return false; - if (varList.size()>65535) return false; // write number of vars Bit16u num = (Bit16u)varList.size(); diff --git a/src/hardware/serialport/libserial.cpp b/src/hardware/serialport/libserial.cpp index 5d66851d..d8d6fa58 100644 --- a/src/hardware/serialport/libserial.cpp +++ b/src/hardware/serialport/libserial.cpp @@ -45,6 +45,7 @@ bool SERIAL_open(const char* portname, COMPORT* port) { int len = strlen(portname); if(len > 240) { SetLastError(ERROR_BUFFER_OVERFLOW); + free(cp); return false; } char extended_portname[256] = "\\\\.\\";