diff --git a/servehelper.cpp b/servehelper.cpp index 1a613b8..1889d71 100644 --- a/servehelper.cpp +++ b/servehelper.cpp @@ -107,8 +107,8 @@ bool starts_with(const CurlUrl& url, const CurlUrl& base) { CurlStr url_path = url.get(CURLUPART_PATH); CurlStr base_path = base.get(CURLUPART_PATH); size_t base_path_len = strlen(base_path.get()); - return memcpy(url_path.get(), base_path.get(), base_path_len) == 0 - && (url_path.get()[base_path_len] == '/' || url_path.get()[base_path_len] == '\0'); + return memcmp(url_path.get(), base_path.get(), base_path_len) == 0 + && (base_path.get()[base_path_len - 1] == '/' || url_path.get()[base_path_len] == '/' || url_path.get()[base_path_len] == '\0'); } std::string get_origin(const httplib::Request& req) {