diff options
author | Brad King <brad.king@kitware.com> | 2024-07-15 19:47:31 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2024-07-15 19:55:23 (GMT) |
commit | 890beb19e6fdb23d7cfeeac212d7fe3a3d98e409 (patch) | |
tree | e8802f45c025b1a5c6210ee5ce9d6eac45d19d41 | |
parent | b9e2f6828fbeb20b860736234c60cb67d4413bdf (diff) | |
download | CMake-890beb19e6fdb23d7cfeeac212d7fe3a3d98e409.zip CMake-890beb19e6fdb23d7cfeeac212d7fe3a3d98e409.tar.gz CMake-890beb19e6fdb23d7cfeeac212d7fe3a3d98e409.tar.bz2 |
libuv: backport IDNA input/output hardening fixes
Backport libuv commit `0f2d7e78` (fix: always zero-terminate idna
output, 2024-01-18, `v1.48.0~4`) and libuv commit `3530bcc3` (fix:
reject zero-length idna inputs, 2024-01-18, `v1.48.0~3`).
Fixes: #26112
-rw-r--r-- | Utilities/cmlibuv/src/idna.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Utilities/cmlibuv/src/idna.c b/Utilities/cmlibuv/src/idna.c index 93d982c..858b19d 100644 --- a/Utilities/cmlibuv/src/idna.c +++ b/Utilities/cmlibuv/src/idna.c @@ -274,6 +274,9 @@ long uv__idna_toascii(const char* s, const char* se, char* d, char* de) { char* ds; int rc; + if (s == se) + return UV_EINVAL; + ds = d; si = s; @@ -308,8 +311,9 @@ long uv__idna_toascii(const char* s, const char* se, char* d, char* de) { return rc; } - if (d < de) - *d++ = '\0'; + if (d >= de) + return UV_EINVAL; + *d++ = '\0'; return d - ds; /* Number of bytes written. */ } |