don't leak startargs in start_standalone_factor_in_new_thread
parent
96df486753
commit
b4ae77764c
|
@ -221,12 +221,15 @@ struct startargs {
|
|||
vm_char **argv;
|
||||
};
|
||||
|
||||
// arg must be new'ed because we're going to delete it!
|
||||
void* start_standalone_factor_thread(void *arg)
|
||||
{
|
||||
factor_vm *newvm = new factor_vm;
|
||||
register_vm_with_thread(newvm);
|
||||
startargs *args = (startargs*) arg;
|
||||
newvm->start_standalone_factor(args->argc, args->argv);
|
||||
int argc = args->argc; vm_char **argv = args->argv;
|
||||
delete args;
|
||||
newvm->start_standalone_factor(argc, argv);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -240,7 +243,7 @@ VM_C_API void start_standalone_factor(int argc, vm_char **argv)
|
|||
|
||||
VM_C_API THREADHANDLE start_standalone_factor_in_new_thread(int argc, vm_char **argv)
|
||||
{
|
||||
startargs *args = new startargs; // leaks startargs structure
|
||||
startargs *args = new startargs;
|
||||
args->argc = argc; args->argv = argv;
|
||||
return start_thread(start_standalone_factor_thread,args);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue