[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