summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAllen Winter <allen.winter@kdab.com>2022-10-01 10:02:50 -0400
committerAllen Winter <allen.winter@kdab.com>2022-10-01 10:02:50 -0400
commit77a72109c520fff5ee3d3b1605e0a01ab6145ab3 (patch)
tree811490220afdbaaee2433277ac8d054d024906d1 /src
parentd8ef53ca39e6614b80ae6fe326c54efa4b5a403c (diff)
parentca3e2ad983771b90da259994b7a6d7de1fd1abdc (diff)
downloadlibical-git-77a72109c520fff5ee3d3b1605e0a01ab6145ab3.tar.gz
Merge branch '3.0'
Diffstat (limited to 'src')
-rw-r--r--src/libical/icalparser.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/libical/icalparser.c b/src/libical/icalparser.c
index 295dced9..ea192c38 100644
--- a/src/libical/icalparser.c
+++ b/src/libical/icalparser.c
@@ -627,6 +627,7 @@ icalcomponent *icalparser_parse(icalparser *parser,
icalparser_line_gen_func line_gen_func)
{
char *line;
+ unsigned int cnt = 0;
icalcomponent *c = 0;
icalcomponent *root = 0;
icalerrorstate es = icalerror_get_error_state(ICAL_MALFORMEDDATA_ERROR);
@@ -637,6 +638,7 @@ icalcomponent *icalparser_parse(icalparser *parser,
icalerror_set_error_state(ICAL_MALFORMEDDATA_ERROR, ICAL_ERROR_NONFATAL);
do {
+ cnt++;
line = icalparser_get_line(parser, line_gen_func);
if ((c = icalparser_add_line(parser, line)) != 0) {
@@ -676,7 +678,7 @@ icalcomponent *icalparser_parse(icalparser *parser,
icalmemory_free_buffer(line);
cont = 1;
}
- } while (cont);
+ } while (cont && cnt < TMP_BUF_SIZE);
icalerror_set_error_state(ICAL_MALFORMEDDATA_ERROR, es);