diff options
author | Marti Maria <marti.maria@littlecms.com> | 2022-08-22 14:25:43 +0200 |
---|---|---|
committer | Marti Maria <marti.maria@littlecms.com> | 2022-08-22 14:25:43 +0200 |
commit | 00a657c335e1452baeb7eed26c0988a5d2bd75f6 (patch) | |
tree | c81c8946c2da9d169bb183a88416b7ba88825e79 | |
parent | 4e97dbac6a6af43d4ddea4c5b5bb24737725b874 (diff) | |
download | lcms2-00a657c335e1452baeb7eed26c0988a5d2bd75f6.tar.gz |
Fix for #333
a crafted CGAT may induce a crash. Add more validation
Fixes #333
-rw-r--r-- | src/cmscgats.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/cmscgats.c b/src/cmscgats.c index 72958a8..1b96456 100644 --- a/src/cmscgats.c +++ b/src/cmscgats.c @@ -392,14 +392,17 @@ void StringAppend(string* s, char c) s->max *= 10; new_ptr = (char*) AllocChunk(s->it8, s->max); - if (new_ptr != NULL) + if (new_ptr != NULL && s->begin != NULL) memcpy(new_ptr, s->begin, s->len); s->begin = new_ptr; } - s->begin[s->len++] = c; - s->begin[s->len] = 0; + if (s->begin != NULL) + { + s->begin[s->len++] = c; + s->begin[s->len] = 0; + } } static |