Fix some unsafe usage in cpdfdsk_{helpers,interactiveform}.cpp
Change-Id: I936f9a9d750eda57c0c8c87a1d3531607bd26d90
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/118075
Reviewed-by: Thomas Sepez <tsepez@google.com>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/fpdfsdk/cpdfsdk_helpers.cpp b/fpdfsdk/cpdfsdk_helpers.cpp
index b97aca7..d2288c1 100644
--- a/fpdfsdk/cpdfsdk_helpers.cpp
+++ b/fpdfsdk/cpdfsdk_helpers.cpp
@@ -72,14 +72,18 @@
return pdfium::checked_cast<unsigned long>(stream_data_span.size());
}
+// TODO(tsepez): should be UNSAFE_BUFFER_USAGE.
size_t FPDFWideStringLength(const unsigned short* str) {
if (!str) {
return 0;
}
size_t len = 0;
- while (str[len]) {
- len++;
- }
+ // SAFETY: NUL-termination required from caller.
+ UNSAFE_BUFFERS({
+ while (str[len]) {
+ len++;
+ }
+ });
return len;
}