StringToBool: only act if the entire string is consumed by strtol()
authorMichael Vogt <mvo@ubuntu.com>
Wed, 16 Jul 2014 11:57:50 +0000 (13:57 +0200)
committerMichael Vogt <mvo@ubuntu.com>
Wed, 16 Jul 2014 12:14:40 +0000 (14:14 +0200)
commit08be0ca32ad69e9ebf28fe26aa85990700c81cf6
treef4cf9d468b1350005126c4f0e77e8d1d0f903b28
parent67c160fb95359506bca3e2899ea4851abdb157c4
StringToBool: only act if the entire string is consumed by strtol()

StringToBool uses strtol() internally to check if the argument is
a number. This function stops when it does not find any more numbers.
So a string like "0ad" (which is a valid packagename) is interpreted
as a "0". The code now checks that the entire string is consumed
not just a part of it. Thanks to Johannes Schauer for raising this
issue.
apt-pkg/contrib/strutl.cc
test/libapt/commandline_test.cc