Closed
Description
Description
UTBot generate incorrect stubs name for pointer to function inside subclass/subunion
For file:
#include <stddef.h>
struct obstack
{
int s;
struct ff {
void *(*plain) (size_t);
void *(*extra) (void *, size_t);
} chunkfun;
};
int foo(struct obstack ob){
return ob.s;
}
int main(void) {
return 0;
}
UTBot generate build/main_klee_temp.c
which contains:
static void * obstack::ff_extra_stub(void * param1, size_t param2) {
return NULL;
}
static void * obstack::ff_plain_stub(size_t param1) {
return NULL;
}
int klee_entry__main_foo__wrapped(int utbot_argc, char ** utbot_argv, char ** utbot_envp) {
struct obstack ob;
klee_make_symbolic(&ob, sizeof(ob), "ob");
klee_prefer_cex(&ob, ob.s >= -10 & ob.s <= 10);
ob.chunkfun.plain = *obstack::ff_plain_stub;
ob.chunkfun.extra = *obstack::ff_extra_stub;
////////////////////////////////////////////
int utbot_result;
klee_make_symbolic(&utbot_result, sizeof(utbot_result), "utbot_result");
int utbot_tmp = foo(ob);
klee_assume(utbot_tmp == utbot_result);
return 0;
}
Metadata
Metadata
Assignees
Type
Projects
Status
Done