[dart/vm] fix potential buffer overrun in unicode utils

Rationale:
Found by libFuzzer, calling into Utf16::Encode should
ensure sufficient output buffer is available since
it accesses two uint16_t words.

https://github.com/dart-lang/sdk/issues/36235

Change-Id: I14733b0b059f9d710e022b02d143e42c8b5f91e3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97042
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
1 file changed
tree: 06d1af1754dceeff608ed225fc65faab5dbaf743
  1. .clang-format
  2. .gitattributes
  3. .gitconfig
  4. .github/
  5. .gitignore
  6. .gn
  7. .mailmap
  8. .packages
  9. .vpython
  10. AUTHORS
  11. BUILD.gn
  12. CHANGELOG.md
  13. CONTRIBUTING.md
  14. DEPS
  15. LICENSE
  16. PATENTS
  17. PRESUBMIT.py
  18. README.dart-sdk
  19. README.md
  20. WATCHLISTS
  21. build/
  22. client/
  23. codereview.settings
  24. docs/
  25. pkg/
  26. runtime/
  27. samples-dev/
  28. samples/
  29. sdk/
  30. tests/
  31. third_party/
  32. tools/
  33. utils/
README.md

Dart

Dart is an open-source, scalable programming language, with robust libraries and runtimes, for building web, server, and mobile apps.

Using Dart

Visit the dartlang.org to learn more about the language, tools, getting started, and more.

Browse pub.dartlang.org for more packages and libraries contributed by the community and the Dart team.

Building Dart

If you want to build Dart yourself, here is a guide to getting the source, preparing your machine to build the SDK, and building.

There are more documents on our wiki.

Contributing to Dart

The easiest way to contribute to Dart is to file issues.

You can also contribute patches, as described in Contributing.

License & patents

See LICENSE and PATENTS.