]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
tool_doswin: add debug envs to test filename sanitization failure modes
authorViktor Szakats <commit@vsz.me>
Wed, 31 Dec 2025 10:21:18 +0000 (11:21 +0100)
committerViktor Szakats <commit@vsz.me>
Wed, 31 Dec 2025 11:16:11 +0000 (12:16 +0100)
- `CURL_FN_SANITIZE_BAD=<any-value>` to simulate
  `SANITIZE_ERR_INVALID_PATH`.

- `CURL_FN_SANITIZE_OOM=<any-value>` to simulate
  `SANITIZE_ERR_OUT_OF_MEMORY`.

Both are Windows/MS-DOS-specific and require debug-enabled curl build.

Cherry-picked from #20116
Closes #20125

src/tool_doswin.c

index 034462b3847246c3c84327dce9e85e4beb90a786..a2d6bb81d732c6090e7fc7888cc8a415a0963d5b 100644 (file)
@@ -206,6 +206,13 @@ SANITIZEcode sanitize_file_name(char ** const sanitized, const char *file_name,
     }
   }
 
+#ifdef DEBUGBUILD
+  if(getenv("CURL_FN_SANITIZE_BAD"))
+    return SANITIZE_ERR_INVALID_PATH;
+  if(getenv("CURL_FN_SANITIZE_OOM"))
+    return SANITIZE_ERR_OUT_OF_MEMORY;
+#endif
+
   *sanitized = target;
   return SANITIZE_ERR_OK;
 }