diff options
author | Caolán McNamara <caolanm@redhat.com> | 2021-03-26 09:26:10 +0000 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2021-03-28 19:47:20 +0200 |
commit | c847acd6f2a97dc495741efc4beecd1d6546fb0e (patch) | |
tree | e624a72fc33f57c36340050b236a013506c95d1f /hwpfilter | |
parent | c10fd816b476043ca32ff4a95a99daf617b6de27 (diff) |
ofz#32499 overflowing pos
Change-Id: I164537acbb4d4bcf7dee51a029ffb518a3687fda
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113121
Tested-by: Jenkins
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Diffstat (limited to 'hwpfilter')
-rw-r--r-- | hwpfilter/source/hiodev.cxx | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/hwpfilter/source/hiodev.cxx b/hwpfilter/source/hiodev.cxx index 56d4719e4302..a9bd14b57b11 100644 --- a/hwpfilter/source/hiodev.cxx +++ b/hwpfilter/source/hiodev.cxx @@ -337,7 +337,7 @@ size_t HMemIODev::readBlock(void *p, size_t size) { if (state()) return 0; - if (length < pos + size) + if (size > length - pos) size = length - pos; memcpy(p, ptr + pos, size); pos += size; @@ -346,7 +346,7 @@ size_t HMemIODev::readBlock(void *p, size_t size) size_t HMemIODev::skipBlock(size_t size) { - if (state() || length < pos + size) + if (state() || size > length - pos) return 0; pos += size; return size; |