diff --git a/glnx-fdio.c b/glnx-fdio.c index 7dfa5096d6da4e16cea78321bae96b9169c6e58f..892be2a7d84856994490c8ada334c99c095a53b9 100644 --- a/glnx-fdio.c +++ b/glnx-fdio.c @@ -141,14 +141,14 @@ glnx_renameat2_exchange (int olddirfd, const char *oldpath, #endif /* Fallback */ - { const char *old_tmp_name = glnx_strjoina (oldpath, ".XXXXXX"); - + { char *old_tmp_name_buf = glnx_strjoina (oldpath, ".XXXXXX"); /* This obviously isn't race-free, but doing better gets tricky, since if * we're here the kernel isn't likely to support RENAME_NOREPLACE either. * Anyways, upgrade the kernel. Failing that, avoid use of this function in * shared subdirectories like /tmp. */ - glnx_gen_temp_name (old_tmp_name); + glnx_gen_temp_name (old_tmp_name_buf); + const char *old_tmp_name = old_tmp_name_buf; /* Move old out of the way */ if (renameat (olddirfd, oldpath, olddirfd, old_tmp_name) < 0)