summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAllen Winter <allen.winter@kdab.com>2022-10-17 17:09:09 -0400
committerAllen Winter <allen.winter@kdab.com>2022-10-17 17:10:13 -0400
commit0faf499a12e081514a69800f4729db18e52ed0d5 (patch)
tree346e989353700a589e705b3442c910b35654a58b
parentb5f82ea268b8ae0317dcdf8f34da2fd63070f9dd (diff)
parent007bc57f77e15a6081d38b191f77cc42a8f6045a (diff)
downloadlibical-git-0faf499a12e081514a69800f4729db18e52ed0d5.tar.gz
Merge branch '3.0'
-rw-r--r--ReleaseNotes.txt7
-rw-r--r--src/libical/icalparser.c8
2 files changed, 7 insertions, 8 deletions
diff --git a/ReleaseNotes.txt b/ReleaseNotes.txt
index 3d17b784..bf654dd1 100644
--- a/ReleaseNotes.txt
+++ b/ReleaseNotes.txt
@@ -54,9 +54,12 @@ Version 3.1.0 (NOT RELEASED YET):
+ struct icaltimezonetype
+ struct icaltimezonephase
-Version 3.0.16 (UNRELEASED):
+Version 3.0.17 (UNRELEASED):
----------------------------
- * Fix a regression in 3.0.15 that limited how many lines could be processed in one call to icalparser_parse()
+
+Version 3.0.16 (17 October 2022):
+---------------------------------
+ * Fix regressions in 3.0.15 due to improperly tested fuzz fixes
* Fix argument guards in icaltime_as_timet to match documentation and tests.
Version 3.0.15 (06 October 2022):
diff --git a/src/libical/icalparser.c b/src/libical/icalparser.c
index 2ae783fd..5015d561 100644
--- a/src/libical/icalparser.c
+++ b/src/libical/icalparser.c
@@ -132,10 +132,8 @@ static char *parser_get_next_char(char c, char *str, int qm)
char *p = str;
char next_char = *p;
char prev_char = 0;
- unsigned int cnt = 0;
- while ((cnt < TMP_BUF_SIZE) && (next_char != '\0')) {
- cnt++;
+ while (next_char != '\0') {
if ((prev_char != '\0') && (prev_char != '\\')) {
if (qm == 1 && next_char == '"') {
/* Encountered a quote, toggle quote mode */
@@ -159,15 +157,13 @@ static char *make_segment(char *start, char *end)
{
char *buf, *tmp;
ptrdiff_t size = (ptrdiff_t)(end - start);
- ptrdiff_t cnt = 0;
buf = icalmemory_new_buffer((size_t)(size + 1));
strncpy(buf, start, size);
*(buf + size) = 0;
tmp = (buf + size);
- while ((cnt < size) && (tmp >= buf) && ((*tmp == '\0') || iswspace((wint_t)*tmp))) {
- cnt++;
+ while ((tmp >= buf) && ((*tmp == '\0') || iswspace((wint_t)*tmp))) {
*tmp = 0;
tmp--;
}