Commit 2574615f authored by Max Kellermann's avatar Max Kellermann

util/UriRelative: use StringAfterPrefix() instead of memcmp()

memcmp() can overrun the buffer.
parent 15fbd2b4
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
#include "UriRelative.hxx" #include "UriRelative.hxx"
#include "StringAPI.hxx" #include "StringAPI.hxx"
#include "StringCompare.hxx"
#include <assert.h> #include <assert.h>
#include <string.h> #include <string.h>
...@@ -42,9 +43,9 @@ uri_is_child(const char *parent, const char *child) noexcept ...@@ -42,9 +43,9 @@ uri_is_child(const char *parent, const char *child) noexcept
assert(child != nullptr); assert(child != nullptr);
#endif #endif
const size_t parent_length = strlen(parent); const char *suffix = StringAfterPrefix(child, parent);
return memcmp(parent, child, parent_length) == 0 && return suffix != nullptr &&
child[parent_length] == '/'; *suffix == '/';
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment