test1.xreate
No OneTemporary

File Metadata

Created
Thu, Jul 9, 5:57 AM

test1.xreate

interface(extern-c){
xml2 = library:: pkgconfig("libxml-2.0").
include {
xml2 = ["scripts/exploitation/test1.h"]
}.
}
import raw ("scripts/exploitation/exploitation.lp").
import raw ("scripts/exploitation/test1.assembly.lp").
guard:: explInitRealImpl {
openFile = function(filePrev:: FILE_P):: FILE_P {
fopen("/tmp/test", "w")::FILE_P
}
}
guard:: explInitBogusImpl {
openFile = function(filePrev:: FILE_P):: FILE_P {
filePrev::int
}
}
test = function::int; entry {
seq
{ f0 = undef:: FILE_P. f0 }
{ f1 = openFile(f0):: FILE_P; expl_init(r1). f1 /*first attempt to open file*/}
{ f2 = openFile(f1):: FILE_P; expl_init(r1). f2 /*second attempt to open file*/}
{ sizeWritten = fwrite("WriteAttempt", 12, 1, f2):: int; expl_user(r1). sizeWritten }
{ fclose(f2)::int; expl_use(r1)}
{ sizeWritten :: int}
}

Event Timeline