Page MenuHomePhabricator

Force date/time preferences to valid values
ClosedPublic

Authored by epriestley on Jun 18 2015, 7:14 PM.
Tags
None
Referenced Files
F13084969: D13346.diff
Wed, Apr 24, 11:36 PM
Unknown Object (File)
Sat, Apr 13, 9:19 AM
Unknown Object (File)
Mon, Apr 8, 1:56 AM
Unknown Object (File)
Mon, Apr 8, 1:56 AM
Unknown Object (File)
Mon, Apr 8, 1:50 AM
Unknown Object (File)
Mon, Apr 8, 1:23 AM
Unknown Object (File)
Fri, Mar 29, 1:34 AM
Unknown Object (File)
Feb 20 2024, 9:40 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.