Correctly handle failure to read /proc/self/exe link#184700
Conversation
Existing code would attempt to use the negative length to create a std::string. Existing code was also returning an empty path when the length was > PATH_MAX. This was removed to match the code in engine/src/flutter/fml/platform/linux/paths_linux.cc
|
It looks like this pull request may not have tests. Please make sure to add tests or get an explicit test exemption before merging. If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix? Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. If you believe this PR qualifies for a test exemption, contact "@test-exemption-reviewer" in the #hackers channel in Discord (don't just cc them here, they won't see it!). The test exemption team is a small volunteer group, so all reviewers should feel empowered to ask for tests, without delegating that responsibility entirely to the test exemption group. |
|
Second part of #184476 |
There was a problem hiding this comment.
Code Review
This pull request modifies the Linux implementation of GetExecutableDirectory by reducing the buffer size and changing the error handling for readlink. Feedback suggests that these changes reduce robustness against path truncation; it is recommended to use a larger buffer and explicitly check for both errors and truncation to ensure the returned path is complete.
flutter/flutter@05e0ae0...81c87ea 2026-04-09 [email protected] Remove last material dependency from cupertino tests (flutter/flutter#184781) 2026-04-09 [email protected] Roll Skia from 7c46cb639dba to 4d0f5389e131 (7 revisions) (flutter/flutter#184812) 2026-04-09 [email protected] Make `windowing_test` follow repo analyzer rules (flutter/flutter#184752) 2026-04-09 [email protected] Improve documentation of `frictionFactor` function (flutter/flutter#184509) 2026-04-09 [email protected] Roll Skia from d2b0bd12576a to 7c46cb639dba (1 revision) (flutter/flutter#184796) 2026-04-09 [email protected] Roll Fuchsia GN SDK from JLBh4Z9PKsjIJcqDU... to SEfYx3xgueX3aFAY3... (flutter/flutter#184797) 2026-04-09 [email protected] Fixed freeze flow (flutter/flutter#184793) 2026-04-09 [email protected] Roll pub packages (flutter/flutter#184795) 2026-04-09 [email protected] Roll Skia from e9ed4fc9f154 to d2b0bd12576a (36 revisions) (flutter/flutter#184791) 2026-04-08 [email protected] [Android] Allow sensitive content to gracefully fail when unregistering host before registering (flutter/flutter#184789) 2026-04-08 [email protected] Refactor: remove material from autocomplete_test, scrollable_restoration_test, semantics_tester_generate_test_semantics_expression_for_current_semantics_tree_test (flutter/flutter#184615) 2026-04-08 [email protected] Warn about the use of TestSemantics (flutter/flutter#184369) 2026-04-08 [email protected] Change freeze flow to pull_request_target (flutter/flutter#184785) 2026-04-08 [email protected] Update to the beta dart version for 3.44 branch cut. (flutter/flutter#184770) 2026-04-08 [email protected] [Dot shorthands] Migrate examples/api/test (flutter/flutter#183966) 2026-04-08 [email protected] [fuchsia] Give AOT runners the ability to copy FFI callback thunks. (flutter/flutter#184696) 2026-04-08 [email protected] Add await or ignore lint to invokeMethod callsites (flutter/flutter#182870) 2026-04-08 [email protected] Correctly handle failure to read /proc/self/exe link (flutter/flutter#184700) 2026-04-08 [email protected] Roll Skia from e264d870a380 to e9ed4fc9f154 (11 revisions) (flutter/flutter#184713) 2026-04-08 [email protected] Roll Packages from 5299279 to 0e0a032 (5 revisions) (flutter/flutter#184720) 2026-04-08 [email protected] Roll pub packages (flutter/flutter#184772) 2026-04-08 [email protected] Roll Fuchsia Linux SDK from 1rcChbOv4nSTVkUxs... to pDXMXRIjEHTw7B0sk... (flutter/flutter#184722) 2026-04-08 [email protected] Remove navigator_utils cross-imports from cupertino tests (flutter/flutter#184282) 2026-04-08 [email protected] Even more awaits v2 (flutter/flutter#184552) 2026-04-08 [email protected] Allow personal skills to be gitignored (flutter/flutter#184727) 2026-04-08 [email protected] [ci] mac_arm64 build_test re-enable shard 1 presubmit (flutter/flutter#184751) 2026-04-08 [email protected] Fix repo check on code freeze (flutter/flutter#184771) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC [email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Existing code would attempt to use the negative length to create a std::string. Existing code was also returning an empty path when the length was > PATH_MAX. This was removed to match the code in engine/src/flutter/fml/platform/linux/paths_linux.cc
Existing code would attempt to use the negative length to create a std::string.
Existing code was also returning an empty path when the length was > PATH_MAX. This was removed to match the code in engine/src/flutter/fml/platform/linux/paths_linux.cc