void template_source_bad() { void* source = template_source<void*>(); __infer_taint_sink(source); }
void callSink(void* param) { __infer_taint_sink(param); }
void returnSourceToSinkBad() { void* source = returnSource(); __infer_taint_sink(source); }
void sourceToSinkDirectBad() { void* source = __infer_taint_source(); __infer_taint_sink(source); }
void endpoint(std::string source1, void* source2) { this->string_sink(source1); __infer_taint_sink(source2); }
void taint_arg_source_ok() { int source; int ret = Obj::taint_arg_source(&source); __infer_taint_sink((void*)ret); // return value is not a source }
void taint_arg_source_bad() { int source; Obj::taint_arg_source(&source); __infer_taint_sink((void*)source); }