[devel] [PATCH for apt 26/38] Fix warning about truncation of value of pkgCache::Header::HeaderSz
Aleksei Nikiforov
darktemplar на altlinux.org
Ср Дек 11 10:51:28 MSK 2019
11.12.2019 1:58, Dmitry V. Levin пишет:
> On Tue, Dec 10, 2019 at 06:23:31PM +0300, Aleksei Nikiforov wrote:
>> Update types of other variables as well.
>
> What's the rationale for changing types of *all* these fields,
> and for choosing architecture-dependent "unsigned long"
> as the new type instead of "unsigned short"?
Value of HeaderSz is truncated. IIRC, assigned value was around 270k.
Types of other variables were changed for uniformity and possible
mitigation of same overflow issues in future, but may be reverted for
now. Since type wasn't architecture-independent, similar
architecture-dependent type of bigger size was used. All of this may be
changed as needed, with only exception of keeping size of HeaderSz
increased.
>
>> ---
>> apt/apt-pkg/pkgcache.h | 14 +++++++-------
>> 1 file changed, 7 insertions(+), 7 deletions(-)
>>
>> diff --git a/apt/apt-pkg/pkgcache.h b/apt/apt-pkg/pkgcache.h
>> index 05a63bc..6b44522 100644
>> --- a/apt/apt-pkg/pkgcache.h
>> +++ b/apt/apt-pkg/pkgcache.h
>> @@ -175,13 +175,13 @@ struct pkgCache::Header
>> unsigned long OptionsHash;
>>
>> // Size of structure values
>> - unsigned short HeaderSz;
>> - unsigned short PackageSz;
>> - unsigned short PackageFileSz;
>> - unsigned short VersionSz;
>> - unsigned short DependencySz;
>> - unsigned short ProvidesSz;
>> - unsigned short VerFileSz;
>> + unsigned long HeaderSz;
>> + unsigned long PackageSz;
>> + unsigned long PackageFileSz;
>> + unsigned long VersionSz;
>> + unsigned long DependencySz;
>> + unsigned long ProvidesSz;
>> + unsigned long VerFileSz;
>>
>> // Structure counts
>> unsigned long PackageCount;
>
>
> _______________________________________________
> Devel mailing list
> Devel на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel
>
Подробная информация о списке рассылки Devel