From 93405153c154b6ecd02f377757fad06b413eb434 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 4 Mar 2014 23:58:43 -0400 Subject: quickcheck says: "a-s--a" is not a legal key filename Found this in failed armhf build log, where quickcheck found a way to break prop_idempotent_key_decode. The "s" indicates size, but since nothing comes after it, that's not valid. When encoding the resulting key, no size was present, so it encoded to "a--a". Also, "a-sX--a" is not legal, since X is not a number. Not found by quickcheck. --- Types/Key.hs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'Types/Key.hs') diff --git a/Types/Key.hs b/Types/Key.hs index 598d5ed20..ea142e4aa 100644 --- a/Types/Key.hs +++ b/Types/Key.hs @@ -78,8 +78,12 @@ file2key s findfields _ v = v addbackend k v = Just k { keyBackendName = v } - addfield 's' k v = Just k { keySize = readish v } - addfield 'm' k v = Just k { keyMtime = readish v } + addfield 's' k v = do + sz <- readish v + return $ k { keySize = Just sz } + addfield 'm' k v = do + mtime <- readish v + return $ k { keyMtime = Just mtime } addfield _ _ _ = Nothing instance Arbitrary Key where -- cgit v1.2.3