@@ -224,9 +224,11 @@ void http_utils::standardize_url(const std::string& url, std::string& result)
224224{
225225 std::string n_url;
226226 string_utilities::regex_replace (url, " (\\ /)+" , " /" , n_url);
227- if (n_url[n_url.size () - 1 ] == ' /' )
227+ std::string::size_type n_url_length = n_url.length ();
228+
229+ if (n_url_length > 1 && n_url[n_url_length - 1 ] == ' /' )
228230 {
229- result = n_url.substr (0 , n_url. size () - 1 );
231+ result = n_url.substr (0 , n_url_length - 1 );
230232 }
231233 else
232234 {
@@ -545,7 +547,7 @@ char* load_file (const char *filename)
545547void dump_header_map (std::ostream &os, const std::string &prefix,
546548 const std::map<std::string,std::string,header_comparator> &map)
547549{
548- std::map<std::string,std::string,header_comparator>::const_iterator it = map.begin ();
550+ std::map<std::string,std::string,header_comparator>::const_iterator it = map.begin ();
549551 std::map<std::string,std::string,header_comparator>::const_iterator end = map.end ();
550552
551553 if (map.size ()) {
@@ -560,7 +562,7 @@ void dump_header_map(std::ostream &os, const std::string &prefix,
560562void dump_arg_map (std::ostream &os, const std::string &prefix,
561563 const std::map<std::string,std::string,arg_comparator> &map)
562564{
563- std::map<std::string,std::string,arg_comparator>::const_iterator it = map.begin ();
565+ std::map<std::string,std::string,arg_comparator>::const_iterator it = map.begin ();
564566 std::map<std::string,std::string,arg_comparator>::const_iterator end = map.end ();
565567
566568 if (map.size ()) {
@@ -571,7 +573,7 @@ void dump_arg_map(std::ostream &os, const std::string &prefix,
571573 os << " ]" << std::endl;
572574 }
573575}
574-
575-
576+
577+
576578};
577579};
0 commit comments