Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Conversation

@rokob
Copy link
Contributor

@rokob rokob commented Oct 7, 2019

Fixes #41993

Currently an empty string or vector will call through to WriteBytes
which asserts that the number of bytes it is being asked to write is
strictly positive. Instead we should not call WriteBytes if the length
is zero.

Similarly, when we read, we don't need to call out if the length is
zero.

Fixes flutter#41993

Currently an empty string or vector will call through to WriteBytes
which asserts that the number of bytes it is being asked to write is
strictly positive. Instead we should not call WriteBytes if the length
is zero.

Similarly, when we read, we don't need to call out if the length is
zero.
if (length == 0) {
return EncodableValue(list_value);
}
list_value.reserve(length);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was this causing a failure too? I think reserve(0) is just a no-op, and the for loop would be no-op as well.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point, I was just being over cautious.

case EncodableValue::Type::kString: {
const auto& string_value = value.StringValue();
size_t size = string_value.size();
WriteSize(size, stream);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be included in the if statement below?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No we always want to write the size because the format specifies type|size|contents and the reading code needs to read that zero to be able to decode an empty string.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

makes sense, thanks!

@rokob
Copy link
Contributor Author

rokob commented Oct 14, 2019

Any update on when this will get merged?

@franciscojma86 franciscojma86 merged commit 81110bb into flutter:master Oct 15, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Oct 16, 2019
engine-flutter-autoroll added a commit to flutter/flutter that referenced this pull request Oct 16, 2019
[email protected]:flutter/engine.git/compare/540fc977bb6b...5e6c005

git log 540fc97..5e6c005 --no-merges --oneline
2019-10-16 [email protected] Roll src/third_party/skia 083a75d6762c..59e72b71b5cf (1 commits) (flutter/engine#13169)
2019-10-16 [email protected] Roll src/third_party/dart 4131d3d7c4...41b65b27c2 (28 commits) (flutter/engine#13163)
2019-10-16 [email protected] Roll src/third_party/skia 7274850f96f2..083a75d6762c (1 commits) (flutter/engine#13168)
2019-10-16 [email protected] Roll fuchsia/sdk/core/linux-amd64 from 5I4Iw... to oTVah... (flutter/engine#13167)
2019-10-16 [email protected] Roll fuchsia/sdk/core/mac-amd64 from qpzUe... to KVDL4... (flutter/engine#13166)
2019-10-16 [email protected] Roll src/third_party/skia 634d15032d37..7274850f96f2 (3 commits) (flutter/engine#13165)
2019-10-16 [email protected] Move surface-based SceneBuilder implementation under surface/ (flutter/engine#13159)
2019-10-16 [email protected] Roll src/third_party/skia ba8752f37dab..634d15032d37 (2 commits) (flutter/engine#13164)
2019-10-16 [email protected] Revert "Issue 13238: on iOS, force an orientation change when the current orientation is not allowed" (flutter/engine#13160)
2019-10-15 [email protected] Roll buildroot to pull in static thread safety analysis options. (flutter/engine#13155)
2019-10-15 [email protected] Roll src/third_party/skia fb6a1abe4567..ba8752f37dab (8 commits) (flutter/engine#13156)
2019-10-15 [email protected] Make the Dart isolate constructor private. (flutter/engine#13153)
2019-10-15 [email protected] Revert "Upgrades the ICU version to 64.2 (#13123)" (flutter/engine#13146)
2019-10-15 [email protected] Issue 13238: on iOS, force an orientation change when the current orientation is not allowed (flutter/engine#12295)
2019-10-15 [email protected] Allow embedders to specify a render task runner description. (flutter/engine#13124)
2019-10-15 [email protected] Roll fuchsia/sdk/core/linux-amd64 from Jv4XM... to 5I4Iw... (flutter/engine#13150)
2019-10-15 [email protected] Roll fuchsia/sdk/core/mac-amd64 from i5xD1... to qpzUe... (flutter/engine#13149)
2019-10-15 [email protected] Roll src/third_party/dart fc933312f7..4131d3d7c4 (3 commits)
2019-10-15 [email protected] Document //flutter/runtime/dart_vm (flutter/engine#13144)
2019-10-15 [email protected] Revert "Enable/tweak web sdk source maps (#13141)" (flutter/engine#13148)
2019-10-15 [email protected] Merge the Fuchsia frontend_server build script into the new flutter_frontend_server target (flutter/engine#13145)
2019-10-15 [email protected] Add `flutter_tester` binary to the CIPD package (flutter/engine#13143)
2019-10-15 [email protected] Roll src/third_party/skia f22c57ddcc8c..fb6a1abe4567 (2 commits) (flutter/engine#13142)
2019-10-15 [email protected] Enable/tweak web sdk source maps (flutter/engine#13141)
2019-10-15 [email protected] Upgrades the ICU version to 64.2 (flutter/engine#13123)
2019-10-15 [email protected] [frontend_server] Include bytecode generation in the training run. (flutter/engine#13126)
2019-10-15 [email protected] Support empty strings and vectors in standard codec (flutter/engine#12974)
2019-10-15 [email protected] Roll src/third_party/dart 50f7ae9c5d..fc933312f7 (2 commits)
2019-10-15 [email protected] Roll src/third_party/skia 55f9cba6e2e7..f22c57ddcc8c (1 commits) (flutter/engine#13136)
2019-10-15 [email protected] Roll fuchsia/sdk/core/linux-amd64 from xRgq0... to Jv4XM... (flutter/engine#13135)
2019-10-15 [email protected] Roll fuchsia/sdk/core/mac-amd64 from Lk7iT... to i5xD1... (flutter/engine#13134)
2019-10-15 [email protected] Roll src/third_party/skia 858cf233ef71..55f9cba6e2e7 (3 commits) (flutter/engine#13133)
2019-10-15 [email protected] Roll src/third_party/dart 70a7ef3f58..50f7ae9c5d (18 commits)


If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
...
Inconnu08 pushed a commit to Inconnu08/flutter that referenced this pull request Nov 26, 2019
[email protected]:flutter/engine.git/compare/540fc977bb6b...5e6c005

git log 540fc97..5e6c005 --no-merges --oneline
2019-10-16 [email protected] Roll src/third_party/skia 083a75d6762c..59e72b71b5cf (1 commits) (flutter/engine#13169)
2019-10-16 [email protected] Roll src/third_party/dart 4131d3d7c4...41b65b27c2 (28 commits) (flutter/engine#13163)
2019-10-16 [email protected] Roll src/third_party/skia 7274850f96f2..083a75d6762c (1 commits) (flutter/engine#13168)
2019-10-16 [email protected] Roll fuchsia/sdk/core/linux-amd64 from 5I4Iw... to oTVah... (flutter/engine#13167)
2019-10-16 [email protected] Roll fuchsia/sdk/core/mac-amd64 from qpzUe... to KVDL4... (flutter/engine#13166)
2019-10-16 [email protected] Roll src/third_party/skia 634d15032d37..7274850f96f2 (3 commits) (flutter/engine#13165)
2019-10-16 [email protected] Move surface-based SceneBuilder implementation under surface/ (flutter/engine#13159)
2019-10-16 [email protected] Roll src/third_party/skia ba8752f37dab..634d15032d37 (2 commits) (flutter/engine#13164)
2019-10-16 [email protected] Revert "Issue 13238: on iOS, force an orientation change when the current orientation is not allowed" (flutter/engine#13160)
2019-10-15 [email protected] Roll buildroot to pull in static thread safety analysis options. (flutter/engine#13155)
2019-10-15 [email protected] Roll src/third_party/skia fb6a1abe4567..ba8752f37dab (8 commits) (flutter/engine#13156)
2019-10-15 [email protected] Make the Dart isolate constructor private. (flutter/engine#13153)
2019-10-15 [email protected] Revert "Upgrades the ICU version to 64.2 (flutter#13123)" (flutter/engine#13146)
2019-10-15 [email protected] Issue 13238: on iOS, force an orientation change when the current orientation is not allowed (flutter/engine#12295)
2019-10-15 [email protected] Allow embedders to specify a render task runner description. (flutter/engine#13124)
2019-10-15 [email protected] Roll fuchsia/sdk/core/linux-amd64 from Jv4XM... to 5I4Iw... (flutter/engine#13150)
2019-10-15 [email protected] Roll fuchsia/sdk/core/mac-amd64 from i5xD1... to qpzUe... (flutter/engine#13149)
2019-10-15 [email protected] Roll src/third_party/dart fc933312f7..4131d3d7c4 (3 commits)
2019-10-15 [email protected] Document //flutter/runtime/dart_vm (flutter/engine#13144)
2019-10-15 [email protected] Revert "Enable/tweak web sdk source maps (flutter#13141)" (flutter/engine#13148)
2019-10-15 [email protected] Merge the Fuchsia frontend_server build script into the new flutter_frontend_server target (flutter/engine#13145)
2019-10-15 [email protected] Add `flutter_tester` binary to the CIPD package (flutter/engine#13143)
2019-10-15 [email protected] Roll src/third_party/skia f22c57ddcc8c..fb6a1abe4567 (2 commits) (flutter/engine#13142)
2019-10-15 [email protected] Enable/tweak web sdk source maps (flutter/engine#13141)
2019-10-15 [email protected] Upgrades the ICU version to 64.2 (flutter/engine#13123)
2019-10-15 [email protected] [frontend_server] Include bytecode generation in the training run. (flutter/engine#13126)
2019-10-15 [email protected] Support empty strings and vectors in standard codec (flutter/engine#12974)
2019-10-15 [email protected] Roll src/third_party/dart 50f7ae9c5d..fc933312f7 (2 commits)
2019-10-15 [email protected] Roll src/third_party/skia 55f9cba6e2e7..f22c57ddcc8c (1 commits) (flutter/engine#13136)
2019-10-15 [email protected] Roll fuchsia/sdk/core/linux-amd64 from xRgq0... to Jv4XM... (flutter/engine#13135)
2019-10-15 [email protected] Roll fuchsia/sdk/core/mac-amd64 from Lk7iT... to i5xD1... (flutter/engine#13134)
2019-10-15 [email protected] Roll src/third_party/skia 858cf233ef71..55f9cba6e2e7 (3 commits) (flutter/engine#13133)
2019-10-15 [email protected] Roll src/third_party/dart 70a7ef3f58..50f7ae9c5d (18 commits)


If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
...
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants