diff --git a/llvm/lib/Support/Unix/Path.inc b/llvm/lib/Support/Unix/Path.inc index e2aece49cbc52a545eb8d908dba07478ee7ed50f..7869dc086e969b01eb9e1d91d6e743d0922fc54e 100644 --- a/llvm/lib/Support/Unix/Path.inc +++ b/llvm/lib/Support/Unix/Path.inc @@ -1429,8 +1429,12 @@ static const char *getEnvTempDir() { // variable. const char *EnvironmentVariables[] = {"TMPDIR", "TMP", "TEMP", "TEMPDIR"}; for (const char *Env : EnvironmentVariables) { - if (const char *Dir = std::getenv(Env)) + if (const char *Dir = std::getenv(Env)) { + if(std::strlen(Dir) > NAME_MAX) { + continue; + } return Dir; + } } return nullptr;