Add benchmark arguments without leaking memory

The previous version of BenchmarkInSitu added arguments to its argv list by using strdup. However, this method will leak memory, which is not great. Replace this with a safer mechanism that will properly delete memory at the end of the program (and satisfy any memory analyzers).

This also fixes a warning from MS about strdup being deprecated.

Merge request reports

Loading