Open nexushoratio opened 1 year ago
Minor bug parsing IP Addresses in ch8_ip_address.cpp
The following line incorrectly includes square brackets in the character set:
21 if(str.find_first_not_of("[0123456789]") == std::string::npos)
[1].2.3.4
1].2.3.4
[1].2.3.4 and 1].2.3.4 should both fail gracefully.
$ ./a.out Enter an IP address in decimal: [1].2.3.4 terminate called after throwing an instance of 'std::invalid_argument' what(): stoi Aborted
$ ./a.out Enter an IP address in decimal: 1].2.3.4 1].2.3.4 is a valid IP address.
Remove square brackets, and it works.
$ ./a.out Enter an IP address in decimal: [1].2.3.4 [1].2.3.4 is not a valid IP address.
$ ./a.out Enter an IP address in decimal: 1].2.3.4 1].2.3.4 is not a valid IP address.
Oops, thanks!
Issue Overview
Minor bug parsing IP Addresses in ch8_ip_address.cpp
Describe your environment
The following line incorrectly includes square brackets in the character set:
Steps to Reproduce
[1].2.3.4
throws an exception due to stoi("[1]")1].2.3.4
gives a false positive due to stoi("1]") succeeding with returning 1.Expected Behavior
[1].2.3.4
and1].2.3.4
should both fail gracefully.Current Behavior
Possible Solution
Remove square brackets, and it works.