Skip to content

Commit

Permalink
Free arguments after executing isolate.
Browse files Browse the repository at this point in the history
  • Loading branch information
rqu authored and Martin Kruliš committed Jan 4, 2021
1 parent 1eaf003 commit 4e2852b
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions src/sandbox/isolate_sandbox.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,8 @@ void isolate_sandbox::isolate_init_child(int fd_0, int fd_1)
execvp(isolate_binary_.c_str(), const_cast<char **>(args));

// Never reached
free(const_cast<char *>(args[2]));

log_and_throw(logger_, "Exec returned to child: ", strerror(errno));
}

Expand Down Expand Up @@ -205,6 +207,8 @@ void isolate_sandbox::isolate_cleanup()
execvp(isolate_binary_.c_str(), const_cast<char **>(args));

// Never reached
free(const_cast<char *>(args[2]));

log_and_throw(logger_, "Exec returned to child: ", strerror(errno));
break;
default:
Expand Down Expand Up @@ -246,6 +250,9 @@ void isolate_sandbox::isolate_run(const std::string &binary, const std::vector<s
execvp(isolate_binary_.c_str(), args);

// Never reached
for(char **arg = args; *arg; arg++)
free(*arg);

log_and_throw(logger_, "Exec returned to child: ", strerror(errno));
} break;
default: {
Expand Down

0 comments on commit 4e2852b

Please sign in to comment.