sc/source/filter/html/htmlpars.cxx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-)
New commits: commit 91dfd7aac814bb47f1bdfc30b882238b42993bf7 Author: Caolán McNamara <caolan.mcnam...@collabora.com> AuthorDate: Fri Mar 29 19:53:17 2024 +0000 Commit: Caolán McNamara <caolan.mcnam...@collabora.com> CommitDate: Tue Apr 2 20:46:01 2024 +0200 ofz#67708 ignore oversized colspans that can't fit in SCCOL ignore negative colspan and rowspans too Change-Id: I79a010bcd7d9d84de70f6dac2e09614d6d448227 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165482 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> diff --git a/sc/source/filter/html/htmlpars.cxx b/sc/source/filter/html/htmlpars.cxx index ede9eaf4912a..80277ae6b71b 100644 --- a/sc/source/filter/html/htmlpars.cxx +++ b/sc/source/filter/html/htmlpars.cxx @@ -1042,12 +1042,20 @@ void ScHTMLLayoutParser::TableDataOn( HtmlImportInfo* pInfo ) { case HtmlOptionId::COLSPAN: { - mxActEntry->nColOverlap = static_cast<SCCOL>(rOption.GetString().toInt32()); + sal_Int32 nColOverlap = rOption.GetString().toInt32(); + if (nColOverlap >= 0 && nColOverlap <= SCCOL_MAX) + mxActEntry->nColOverlap = static_cast<SCCOL>(nColOverlap); + else + SAL_WARN("sc", "ScHTMLLayoutParser::TableDataOn ignoring colspan: " << nColOverlap); } break; case HtmlOptionId::ROWSPAN: { - mxActEntry->nRowOverlap = static_cast<SCROW>(rOption.GetString().toInt32()); + sal_Int32 nRowOverlap = rOption.GetString().toInt32(); + if (nRowOverlap >= 0) + mxActEntry->nRowOverlap = static_cast<SCROW>(nRowOverlap); + else + SAL_WARN("sc", "ScHTMLLayoutParser::TableDataOn ignoring rowspan: " << nRowOverlap); } break; case HtmlOptionId::ALIGN: