Page MenuHomePhabricator

Force date/time preferences to valid values
ClosedPublic

Authored by epriestley on Jun 18 2015, 7:14 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Dec 12, 6:20 AM
Unknown Object (File)
Thu, Dec 5, 9:18 PM
Unknown Object (File)
Wed, Nov 20, 1:30 AM
Unknown Object (File)
Nov 16 2024, 1:48 AM
Unknown Object (File)
Nov 12 2024, 3:10 PM
Unknown Object (File)
Nov 8 2024, 12:47 AM
Unknown Object (File)
Oct 27 2024, 3:16 PM
Unknown Object (File)
Oct 20 2024, 3:23 PM

Details

Summary

Fixes T8601. To reproduce the problem:

  • Set your time preference to "" (the empty string). This isn't possible from the modern UI, but can be done with "Right Click > Inspect Element", or users may have carried it forward from an older setting (this is the case with me and @hach-que on this install).
  • Load Calendar with some events.
  • This parses an epoch, which sets valueTime to "" (since there are no format characters in the preference) and then getEpoch() fails because strlen($time) is 0.
  • Since getEpoch() failed, getDateTime() also fails.

To fix this:

  • Only permit the date and time preferences to have valid values.
Test Plan
  • Loaded page before patch, saw fatal.
  • Applied patch.
  • No more fatal.
  • Viewed tooltips, dates/times, dates/times in other apps.
  • Changed my preferences, saw them respected.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

epriestley retitled this revision from to Force date/time preferences to valid values.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: lpriestley.
epriestley added a subscriber: hach-que.
lpriestley edited edge metadata.
This revision is now accepted and ready to land.Jun 18 2015, 10:04 PM
This revision was automatically updated to reflect the committed changes.