Skip to content
Snippets Groups Projects
Commit e98d9a58 authored by ryuzakighost's avatar ryuzakighost
Browse files

vuln1 test

parent b984e82d
No related branches found
No related tags found
No related merge requests found
......@@ -57,6 +57,8 @@ unsigned int count = 0; /* counts number of instructions executed so far */
static void machine_init(void){
memory = malloc(sizeof(int32_t)*MEMORY_SIZE);
regs = malloc(sizeof(int32_t)*NUM_REGS);
/* memset can be vulnerable - changes to this can result in dirty memory to be read*/
memset(memory,0,sizeof(int32_t)*MEMORY_SIZE);
memset(regs,0,sizeof(int32_t)*NUM_REGS);
count = 0;
......@@ -84,15 +86,12 @@ static void do_mult(unsigned int dest, unsigned int src1, unsigned int src2)
}
/* returns 0 on success, nonzero on failure */
/*CHANGE - Divide by Zero now possible*/
static int do_div(unsigned int dest, unsigned int src1, unsigned int src2)
{
if (regs[src2] == 0){
return -1;
}else{
regs[dest] = regs[src1] / regs[src2];
return 0;
}
}
/* returns 0 on success, nonzero on failure */
static int do_load(unsigned int dest, unsigned int src, int32_t offs){
......
......@@ -84,15 +84,12 @@ static void do_mult(unsigned int dest, unsigned int src1, unsigned int src2)
}
/* returns 0 on success, nonzero on failure */
/* CHANGE - removed safety for the divide by zero */
static int do_div(unsigned int dest, unsigned int src1, unsigned int src2)
{
if (regs[src2] == 0){
return -1;
}else{
regs[dest] = regs[src1] / regs[src2];
return 0;
}
}
/* returns 0 on success, nonzero on failure */
static int do_load(unsigned int dest, unsigned int src, int32_t offs){
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment