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;
openSUSE Build Service is sponsored by