You are on page 1of 2

Stack Frame and function Prologue and

Epilogue
Given the program below:
#include <stdio.h>
#include <string.h>

void foo(int a, int b, int c)


{
int tmp;
a=2;
tmp = b+c*a;
}

int main(int argc, char * argv[])


{
int pass = 0;   
char buff[15];
   

foo(3,4,5);

    printf("\n Enter the password : \n");


    gets(buff);

    if(strcmp(buff, "testpilot"))


    {
        printf ("\n Wrong Password \n");
    }
    else
    {
        printf ("\n Correct Password \n");
        pass = 1;
    }

    if(pass)
    {
       /* Now Give root or admin rights to user*/
        printf ("\n Root privileges given to the user \n");
    }

    return 0;
}
Assume the program is in a file called: test.c
It is compiled and linked using gcc test.c –a test
and is executed as ./test

Show the activation records up to where the arrow indicates:


Parameter  right-to-left local variables  top-to-bottom word size is 32 bits

Right to left:
int a, int b, int c, int argc, char * argv[].

Top to Bottom:
int tmp, int pass, char buffer

You might also like