From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Sat, 8 Jun 2019 15:03:05 +0000 (-0700) Subject: bpo-29505: Fix interpreter in fuzzing targets to be relocatable (GH-13907) X-Git-Tag: v3.8.0b2~177 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=22b69da4c38042e923d633530bdafc1b5fb94928;p=python bpo-29505: Fix interpreter in fuzzing targets to be relocatable (GH-13907) (cherry picked from commit a15a7bcaea54e1845ab2abe27e6f583294cd715b) Co-authored-by: Ammar Askar --- diff --git a/Modules/_xxtestfuzz/fuzzer.c b/Modules/_xxtestfuzz/fuzzer.c index b50eb65127..54f816ebc9 100644 --- a/Modules/_xxtestfuzz/fuzzer.c +++ b/Modules/_xxtestfuzz/fuzzer.c @@ -88,6 +88,14 @@ static int _run_fuzz(const uint8_t *data, size_t size, int(*fuzzer)(const char* /* CPython generates a lot of leak warnings for whatever reason. */ int __lsan_is_turned_off(void) { return 1; } +wchar_t wide_program_name[NAME_MAX]; + +int LLVMFuzzerInitialize(int *argc, char ***argv) { + wchar_t* wide_program_name = Py_DecodeLocale(*argv[0], NULL); + Py_SetProgramName(wide_program_name); + return 0; +} + /* Fuzz test interface. This returns the bitwise or of all fuzz test's return values.