File libical-boo986631-read-past-end.patch of Package libical
From 38757abb495ea6cb40faa5418052278bf75040f7 Mon Sep 17 00:00:00 2001
From: Ken Murchison <murch@andrew.cmu.edu>
Date: Fri, 2 Dec 2016 14:13:22 -0500
Subject: [PATCH] icaltime.c: don't read past end of string (can't check
str[19] if length is 16)
Backported by Mike Gorse <mgorse@suse.com>
---
diff -urp libical-1.0.1.orig/src/libical/icaltime.c libical-1.0.1/src/libical/icaltime.c
--- libical-1.0.1.orig/src/libical/icaltime.c 2014-10-09 10:07:05.000000000 -0500
+++ libical-1.0.1/src/libical/icaltime.c 2017-06-13 13:56:12.460359799 -0500
@@ -522,7 +522,7 @@ struct icaltimetype icaltime_from_string
tt.is_utc = 0;
tt.is_date = 0;
} else if ((size == 16) || (size == 20)) { /* UTC time, ends in 'Z'*/
- if ((str[15] != 'Z') && (str[19] != 'Z'))
+ if ((str[size-1] != 'Z'))
goto FAIL;
tt.is_utc = 1;