summaryrefslogtreecommitdiff
path: root/src/libicalvcal
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2021-12-06 18:10:51 -0500
committerAllen Winter <allen.winter@kdab.com>2021-12-06 18:12:34 -0500
commit9246dc6317bcccba8661515820f77980bae1a4fe (patch)
treee3ad5051d6ba9cee2fe5fe72d91ce49214b935f8 /src/libicalvcal
parent26568d1998e2d26345c0b73759cf27da150e1e9d (diff)
downloadlibical-git-9246dc6317bcccba8661515820f77980bae1a4fe.tar.gz
Fix a crash in cleanVObject on invalid values
Diffstat (limited to 'src/libicalvcal')
-rw-r--r--src/libicalvcal/vcc.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/libicalvcal/vcc.c b/src/libicalvcal/vcc.c
index 1e11d7a5..19eb9a16 100644
--- a/src/libicalvcal/vcc.c
+++ b/src/libicalvcal/vcc.c
@@ -850,10 +850,12 @@ void initLex(const char *inputstring, unsigned long inputlen, FILE *inputfile)
}
static void finiLex() {
- VObject* vobj;
+ VObject* vobj, *topobj = 0;
while(vobj = popVObject(), vobj) {
- cleanVObject(vobj);
+ topobj = vobj;
}
+ if(topobj)
+ cleanVObject(topobj);
free(lexBuf.strs);
}