summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vcl/source/filter/svm/SvmReader.cxx15
1 files changed, 15 insertions, 0 deletions
diff --git a/vcl/source/filter/svm/SvmReader.cxx b/vcl/source/filter/svm/SvmReader.cxx
index fe05c3439719..bd69e7ece142 100644
--- a/vcl/source/filter/svm/SvmReader.cxx
+++ b/vcl/source/filter/svm/SvmReader.cxx
@@ -22,6 +22,7 @@
#include <tools/stream.hxx>
#include <tools/vcompat.hxx>
+#include <unotools/configmgr.hxx>
#include <vcl/filter/SvmReader.hxx>
#include <vcl/TypeSerializer.hxx>
#include <vcl/dibtools.hxx>
@@ -705,7 +706,21 @@ rtl::Reference<MetaAction> SvmReader::TextArrayHandler(const ImplMetaReadData* p
}
if (!aArray.empty())
+ {
+ static const bool bFuzzing = utl::ConfigManager::IsFuzzing();
+ if (bFuzzing)
+ {
+ for (size_t i = 0, nLen = aArray.size(); i < nLen; ++i)
+ {
+ if (aArray[i] < -4096 || aArray[i] > 4096)
+ {
+ SAL_WARN("vcl.gdi", "suspicious dx of: " << aArray[i]);
+ aArray[i] = 0;
+ }
+ }
+ }
pAction->SetDXArray(std::move(aArray));
+ }
return pAction;
}