1
0
Fork 0

Small code improvement (#1637)

* Check index before array access

* fix for va_list leaks

* mismatch in new-delete pair
This commit is contained in:
Maksim Derbasov 2017-07-04 18:26:01 +03:00 committed by Duncan Ogilvie
parent 189cd520f0
commit 66c006d703
4 changed files with 10 additions and 4 deletions

2
src/dbg/command.cpp Normal file → Executable file
View File

@ -140,7 +140,7 @@ COMMAND* cmdget(const char* cmd)
strcpy_s(new_cmd, deflen, cmd);
int len = (int)strlen(new_cmd);
int start = 0;
while(new_cmd[start] != ' ' && start < len)
while(start < len && new_cmd[start] != ' ')
start++;
new_cmd[start] = 0;
COMMAND* found = cmdfind(new_cmd, 0);

6
src/dbg/stringutils.cpp Normal file → Executable file
View File

@ -368,7 +368,10 @@ String StringUtils::sprintf(_Printf_format_string_ const char* format, ...)
char sbuffer[64] = "";
if(_vsnprintf_s(sbuffer, _TRUNCATE, format, args) != -1)
{
va_end(args);
return sbuffer;
}
std::vector<char> buffer(256, '\0');
while(true)
@ -393,7 +396,10 @@ WString StringUtils::sprintf(_Printf_format_string_ const wchar_t* format, ...)
wchar_t sbuffer[64] = L"";
if(_vsnwprintf_s(sbuffer, _TRUNCATE, format, args) != -1)
{
va_end(args);
return sbuffer;
}
std::vector<wchar_t> buffer(256, L'\0');
while(true)

2
src/dbg/value.cpp Normal file → Executable file
View File

@ -1894,7 +1894,7 @@ bool valfromstring(const char* string, duint* value, bool silent, bool baseonly,
static bool longEnough(const char* str, size_t min_length)
{
size_t length = 0;
while(str[length] && length < min_length)
while(length < min_length && str[length])
length++;
if(length == min_length)
return true;

4
src/gui/Src/Gui/LocalVarsView.cpp Normal file → Executable file
View File

@ -188,7 +188,7 @@ void LocalVarsView::updateSlot()
unsigned char* buffer = new unsigned char[end - start + 16];
if(!DbgMemRead(start, buffer, end - start + 16)) //failed to read memory for analyzing
{
delete buffer;
delete[] buffer;
setRowCount(0);
return;
}
@ -234,7 +234,7 @@ void LocalVarsView::updateSlot()
}
address += dis.Size();
}
delete buffer;
delete[] buffer;
int rows = 0;
for(int i = 0; i < ArchValue(8, 16); i++)
rows += usedOffsets[i].size();