SHA256
1
0
forked from pool/libical
libical/0002-vcc.y-fix-infinite-loop-with-lower-case-hex-digits.patch
Dirk Mueller 67ae065e5c Accepting request 1135436 from home:dirkmueller:Factory
- update to 3.0.17:
  * Escape commas in x-property TEXT values
  * Built-in timezones updated to tzdata2023c
  * icalparser_ctrl setting defines how to handle invalid CONTROL
    characters during parsing
  * New publicly available functions:
    + get_zone_directory()
    + icalparser_get_ctrl
    + icalparser_set_ctrl

  * Built-in timezones updated to tzdata2021e
- update to 3.0.10:
  * Fix generating wrong recurrence rules
- filelist fix for the glib build
  * Fix cross-compile support in libical-glib

OBS-URL: https://build.opensuse.org/request/show/1135436
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libical?expand=0&rev=88
2023-12-29 08:54:27 +00:00

44 lines
1.4 KiB
Diff

From bf83a0d664f46229836852f5b41539c263c3b921 Mon Sep 17 00:00:00 2001
From: Jan Engelhardt <jengelh@inai.de>
Date: Mon, 17 Sep 2018 16:36:36 +0200
Subject: [PATCH 2/5] vcc.y - fix infinite loop with lower-case hex digits
References: https://github.com/libical/libical/pull/354
When lower-case hex digits are used in a quoted-printable-encoded
character, an infinite loop would occur in the vcard parser.
"N;ENCODING=QUOTED-PRINTABLE:=c3=a4=c3=b6;=c3=bC=c3=9f\n"
References: #353
---
src/libicalvcal/vcc.c | 2 ++
src/libicalvcal/vcc.y | 2 ++
2 files changed, 4 insertions(+)
Index: libical-3.0.17/src/libicalvcal/vcc.c
===================================================================
--- libical-3.0.17.orig/src/libicalvcal/vcc.c
+++ libical-3.0.17/src/libicalvcal/vcc.c
@@ -991,6 +991,8 @@ static int hexdigit_decode(char c)
return c - '0';
if (c >= 'A' && c <= 'F')
return c - 'A' + 10;
+ if (c >= 'a' && c <= 'f')
+ return c - 'a' + 10;
return -1;
}
Index: libical-3.0.17/src/libicalvcal/vcc.y
===================================================================
--- libical-3.0.17.orig/src/libicalvcal/vcc.y
+++ libical-3.0.17/src/libicalvcal/vcc.y
@@ -955,6 +955,8 @@ static int hexdigit_decode(char c)
return c - '0';
if (c >= 'A' && c <= 'F')
return c - 'A' + 10;
+ if (c >= 'a' && c <= 'f')
+ return c - 'a' + 10;
return -1;
}