From: Julien Cristau Date: Wed, 8 Jun 2016 21:58:01 +0000 (+0200) Subject: mail-big-homedirs: add sanity check for lastlog parsing X-Git-Url: https://git.adam-barratt.org.uk/?a=commitdiff_plain;h=fbbd52e85ec5e30ef70bc441e2e83094b04bf007;p=mirror%2Fdsa-puppet.git mail-big-homedirs: add sanity check for lastlog parsing If we find a negative timestamp, something's gone wrong, abort. Signed-off-by: Julien Cristau --- diff --git a/modules/porterbox/files/mail-big-homedirs b/modules/porterbox/files/mail-big-homedirs index 9f86801f9..fc9ad4575 100755 --- a/modules/porterbox/files/mail-big-homedirs +++ b/modules/porterbox/files/mail-big-homedirs @@ -139,6 +139,9 @@ class LastlogTimes(dict): % (len(record), record_size)) uid += 1 # so keep incrementing uid for each record read lastlog_time, _, _ = list(struct.unpack(self.LASTLOG_STRUCT, record)) + if lastlog_time < 0: + raise RuntimeError('unexpected last login time %d for user %s' + % (lastlog_time, pwd.getpwuid(uid).pw_name)) try: self[pwd.getpwuid(uid).pw_name] = lastlog_time except KeyError: