@@ -1286,8 +1286,11 @@ manapi::error::status manapi::net::fetch::headers(std::map<std::string, std::str
12861286 {
12871287 try {
12881288 auto val = std::make_pair<std::string_view, std::string_view>(header.first , header.second );
1289- char data[http::stringify_header_size (val)];
1289+ auto const ss = http::stringify_header_size (val);
1290+ char data[ss + 1 ];
12901291 auto hv = manapi::net::http::stringify_header (data, val);
1292+ assert (ss == hv);
1293+ data[ss]=' \0 ' ;
12911294 this ->data ->curl_headers .reset (curl_slist_append (this ->data ->curl_headers .release (), data));
12921295 if (!this ->data ->curl_headers )
12931296 return manapi::error::status_resource_exhausted ();
@@ -1305,8 +1308,11 @@ manapi::error::status manapi::net::fetch::header_(std::string_view key, std::str
13051308
13061309 try {
13071310 auto val = std::make_pair (key, value);
1308- char data[http::stringify_header_size (val)];
1311+ auto const ss = http::stringify_header_size (val);
1312+ char data[ss + 1 ];
13091313 auto hv = manapi::net::http::stringify_header (data, val);
1314+ assert (ss==hv);
1315+ data[hv] = ' \0 ' ;
13101316 this ->data ->curl_headers .reset (curl_slist_append (this ->data ->curl_headers .release (), data));
13111317 if (!this ->data ->curl_headers )
13121318 return manapi::error::status_resource_exhausted ();
@@ -1354,9 +1360,11 @@ manapi::error::status manapi::net::fetch::json_headers(manapi::json headers) MAN
13541360 }
13551361 auto val = std::make_pair<std::string_view, std::string_view>(header.first , {});
13561362 val.second = val_view;
1357-
1358- char data[http::stringify_header_size (val) ];
1363+ auto const ss = http::stringify_header_size (val);
1364+ char data[ss + 1 ];
13591365 auto hv = manapi::net::http::stringify_header (data, val);
1366+ assert (ss==hv);
1367+ data[ss] = ' \0 ' ;
13601368 this ->data ->curl_headers .reset (curl_slist_append (this ->data ->curl_headers .release (), data));
13611369 }
13621370 catch (std::exception const &e) {
0 commit comments