[aur-dev] [PATCH] git-update.py: Cast epoch to an integer

Lukas Fleischer archlinux at cryptocrack.de
Tue Dec 30 11:40:06 UTC 2014


Convert epoch values before doing integer comparisons. Also, add a
sanity check for the epoch variable.

Reported-by: Ido Rosen <ido at kernel.org>
Signed-off-by: Lukas Fleischer <archlinux at cryptocrack.de>
---
 scripts/git-integration/git-update.py | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/scripts/git-integration/git-update.py b/scripts/git-integration/git-update.py
index 94da12e..6888ad0 100755
--- a/scripts/git-integration/git-update.py
+++ b/scripts/git-integration/git-update.py
@@ -42,8 +42,8 @@ def save_srcinfo(srcinfo, db, cur, user):
     for pkgname in srcinfo.GetPackageNames():
         pkginfo = srcinfo.GetMergedPackage(pkgname)
 
-        if 'epoch' in pkginfo and pkginfo['epoch'] > 0:
-            ver = '%d:%s-%s' % (pkginfo['epoch'], pkginfo['pkgver'],
+        if 'epoch' in pkginfo and int(pkginfo['epoch']) > 0:
+            ver = '%d:%s-%s' % (int(pkginfo['epoch']), pkginfo['pkgver'],
                                 pkginfo['pkgrel'])
         else:
             ver = '%s-%s' % (pkginfo['pkgver'], pkginfo['pkgrel'])
@@ -189,6 +189,9 @@ for commit in walker:
     for pkgname in srcinfo.GetPackageNames():
         pkginfo = srcinfo.GetMergedPackage(pkgname)
 
+        if 'epoch' in pkginfo and not pkginfo['epoch'].isdigit():
+            die_commit('invalid epoch: %s' % (pkginfo['epoch']), commit.id)
+
         if not re.match(r'[a-z0-9][a-z0-9\.+_-]*$', pkginfo['pkgname']):
             die_commit('invalid package name: %s' % (pkginfo['pkgname']),
                        commit.id)
-- 
2.2.1


More information about the aur-dev mailing list