Re: Bug#574956: dpkg drops zero-epoch in status file
Florian Weimer <fw@deneb.enyo.de> writes:
> * Integer overflow in epoch handling
>
> (i386)$ dpkg --compare-versions 4294967296:1 '>>' 4294967295:1 ; echo $?
> 1
> (amd64)$ dpkg --compare-versions 4294967296:1 '>>' 4294967295:1 ; echo $?
> 0
Well, this is wrong if one is to take the wording of policy to mean a C
type. An "unsigned integer" has the same size on i386 and amd64.
> The problem is that the size of long is archtecture-specific, and that
> there is no proper error handling. apt is not affected by this.
>
> This appears to be a dpkg bug, filed as #580038.
An epoch is defined as
epoch
This is a single (generally small) unsigned integer. It may be
omitted, in which case zero is assumed. If it is omitted then the
upstream_version may not contain any colons.
Lets remove the "generally" from policy so we can truely declare this
case as insane.
MfG
Goswin
Reply to: