Sign in
llvm
/
llvm-archive
/
c14ffedf395da9d2232db42825980a2109900fb2
/
.
/
safecode
/
test
/
mem_safety
/
double_free
/
double_free-014.c
blob: ea45daca8f8910f9ce3b0bd1425ff7146abd5b87 [
file
] [
log
] [
blame
]
/* Double free a pointer to a pointer to the free() function. */
#include
<stdlib.h>
int
main
()
{
void
(**
ptr1
)(
void
*),
(***
ptr2
)(
void
*);
ptr1
=
malloc
(
sizeof
(
void
(*)(
void
*)));
*
ptr1
=
free
;
ptr2
=
&
ptr1
;
(**
ptr1
)(
ptr1
);
free
(*
ptr2
);
return
0
;
}