Example #1
0
int main()
{
   int *p1;
   int *p2;
   int *p3;
   c_name *cx;
   int *ky;
   ky=cx->e_key;
   printf("%d\n",ky[_RV_insert_check(0,100,21,21,"main",102)]);

// uninitialized pointer dereference
   printf("%d\n",*(int *)(_RV_insert_pointer_check((void *)p1,0,24,19,"main",(void *)p1)));

// null pointer dereference
   p2=NULL;
   printf("%d\n",*(int *)(_RV_insert_pointer_check((void *)p2,0,28,19,"main",(void *)p2)));

// manufactured pointer dereference
   p3=(int *) 42;
   printf("%d\n",*(int *)(_RV_insert_pointer_check((void *)p3,0,32,19,"main",(void *)p3)));

   return 0;
}
Example #2
0
void show_string(void *_string_base,void *_string_bound,char *string)
 { 
   while (*(char *)(_RV_insert_pointer_check(_string_base,_string_bound,5,12,"show_string",(void *)string)))
     putchar(*(char *)(_RV_insert_pointer_check(_string_base,_string_bound,6,15,"show_string",(void *)string++)));
 }
Example #3
0
void func1(void *_p_base,void *_p_bound,char *p)
{
   printf("the length of func1 is %d\n",strlen(p));
   printf("%c\n",*(char *)(_RV_insert_pointer_check(_p_base,_p_bound,13,19,"func1",(void *)(p+4))));
}