Skip to content
Snippets Groups Projects
Commit 2828f575 authored by an7s's avatar an7s
Browse files

Fix buffer length

Former-commit-id: 24e2b72a8ba0e213e39b26c8c6017fe9d4601010
parent d957c220
No related branches found
No related tags found
No related merge requests found
......@@ -28,6 +28,8 @@
#include "MEDS_Register.hpp"
#include "MEDS_FuncPrototypeAnnotation.hpp"
#define MAX_BUF_SIZE 16000
using namespace std;
using namespace MEDS_Annotation;
......@@ -79,8 +81,8 @@ void MEDS_FuncPrototypeAnnotation::parse()
{
// 4046e0 71 FUNC INARGS 4 ARG0 1 ARG1 0 ARG2 0 ARG3 0
int numargs = 0;
char buf[1024];
strcpy(buf, m_rawInputLine.c_str());
char buf[MAX_BUF_SIZE];
strncpy(buf, m_rawInputLine.c_str(), MAX_BUF_SIZE-1);
sscanf(buf, "%*x %*d %*s %*s %d %*s", &numargs);
for (int i = 0; i < numargs; ++i)
{
......@@ -89,7 +91,7 @@ void MEDS_FuncPrototypeAnnotation::parse()
char *zarg = strstr(buf, arg);
if (zarg)
{
char tmp[1024];
char tmp[MAX_BUF_SIZE];
int meds_type;
sscanf(tmp,"%*s %d %*s", &meds_type);
MEDS_Arg marg(meds_type);
......@@ -105,7 +107,7 @@ void MEDS_FuncPrototypeAnnotation::parse()
else if (about_return)
{
// 404740 697 FUNC RETURNTYPE RAX 1
char regbuf[1024];
char regbuf[MAX_BUF_SIZE];
int meds_retType;
sscanf(m_rawInputLine.c_str(), "%*x %*d %*s %*s %s %d", regbuf, &meds_retType);
RegisterName reg = Register::getRegister(regbuf);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment