From 8dc06c085cdc83d6f02273775156bac615885d18 Mon Sep 17 00:00:00 2001 From: Sidi Liang <1467329765@qq.com> Date: Mon, 4 Nov 2024 20:46:31 +0800 Subject: [PATCH] [web] Make the temporary file name actually unique to handle concurrent requests --- src/nasal_web.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/nasal_web.cpp b/src/nasal_web.cpp index 771e325..c1325f8 100644 --- a/src/nasal_web.cpp +++ b/src/nasal_web.cpp @@ -84,7 +84,8 @@ const char* nasal_eval(void* context, const char* code, int show_time) { nasal::codegen gen; // Create a unique temporary file - char temp_filename[] = "/tmp/nasal_eval_XXXXXX.nasal"; + char temp_filename[256]; + snprintf(temp_filename, sizeof(temp_filename), "/tmp/nasal_eval_%d.nasal", getpid()); int fd = mkstemp(temp_filename); if (fd == -1) { throw std::runtime_error("Failed to create temporary file");