Explorar o código

Fix the size restriction of percent-encoding

xtne6f %!s(int64=10) %!d(string=hai) anos
pai
achega
9f051f3ddc
Modificáronse 1 ficheiros con 3 adicións e 3 borrados
  1. 3 3
      src/civetweb.c

+ 3 - 3
src/civetweb.c

@@ -6084,7 +6084,7 @@ mg_url_encode(const char *src, char *dst, size_t dst_len)
 static void
 print_dir_entry(struct de *de)
 {
-	char size[64], mod[64], href[PATH_MAX];
+	char size[64], mod[64], href[PATH_MAX * 3 /* worst case */];
 	struct tm *tm;
 
 	if (de->file.is_directory) {
@@ -8397,7 +8397,7 @@ static void
 print_dav_dir_entry(struct de *de, void *data)
 {
 	char href[PATH_MAX];
-	char href_encoded[PATH_MAX];
+	char href_encoded[PATH_MAX * 3 /* worst case */];
 	int truncated;
 
 	struct mg_connection *conn = (struct mg_connection *)data;
@@ -8413,7 +8413,7 @@ print_dav_dir_entry(struct de *de, void *data)
 	            de->file_name);
 
 	if (!truncated) {
-		mg_url_encode(href, href_encoded, PATH_MAX - 1);
+		mg_url_encode(href, href_encoded, PATH_MAX * 3);
 		print_props(conn, href_encoded, &de->file);
 	}
 }