Page MenuHomePhabricator

Fix usage of fprintf() in `bin/drydock command`
ClosedPublic

Authored by epriestley on Mar 28 2018, 11:12 PM.
Tags
None
Referenced Files
F13085698: D19264.diff
Wed, Apr 24, 11:53 PM
Unknown Object (File)
Fri, Apr 19, 7:36 PM
Unknown Object (File)
Thu, Apr 11, 8:10 AM
Unknown Object (File)
Tue, Apr 9, 9:24 PM
Unknown Object (File)
Fri, Apr 5, 7:49 PM
Unknown Object (File)
Sun, Mar 31, 11:27 AM
Unknown Object (File)
Sun, Mar 31, 11:26 AM
Unknown Object (File)
Sun, Mar 31, 11:26 AM
Subscribers
Restricted Owners Package

Details

Summary

See PHI513. Ref T13114. fprintf() takes (thing, pattern, args, ...) but we aren't passing a pattern, so if the command returns a "%" in the output we get an error.

Test Plan
  • Installed bytes, a great useful program which prints all the bytes, on my HoaxOS(tm) system (see D19102).
epriestley@orbital ~/dev/phabricator $ ./bin/drydock command --lease 76287 -- bytes # Before patch.
[2018-03-29 02:09:08] ERROR 2: fprintf(): Too few arguments at [/Users/epriestley/dev/core/lib/phabricator/src/applications/drydock/management/DrydockManagementCommandWorkflow.php:60]
arcanist(head=experimental, ref.master=b8c9c385a7f5, ref.experimental=925c60e7b837), corgi(head=master, ref.master=6371578c9d32), instances(head=master, ref.master=d983b9517924), ledger(head=master, ref.master=4da4a24b8779), libcore(), phabricator(head=hoax1, ref.master=b586ee065a75, ref.hoax1=f8d7480bbdd1, custom=4), phutil(head=master, ref.master=1ad42491e44a), secure(head=master, ref.master=988cf9bd7958), services(head=master, ref.master=6b3fb8d8dd0a)
  #0 fprintf(resource, string) called at [<phabricator>/src/applications/drydock/management/DrydockManagementCommandWorkflow.php:60]
  #1 DrydockManagementCommandWorkflow::execute(PhutilArgumentParser) called at [<phutil>/src/parser/argument/PhutilArgumentParser.php:441]
  #2 PhutilArgumentParser::parseWorkflowsFull(array) called at [<phutil>/src/parser/argument/PhutilArgumentParser.php:333]
  #3 PhutilArgumentParser::parseWorkflows(array) called at [<phabricator>/scripts/drydock/drydock_control.php:21]
epriestley@orbital ~/dev/phabricator $ ./bin/drydock command --lease 76287 -- bytes # After patch.
	


!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Owners added a subscriber: Restricted Owners Package.Mar 28 2018, 11:12 PM
This revision was not accepted when it landed; it landed in state Needs Review.Mar 28 2018, 11:20 PM
This revision was automatically updated to reflect the committed changes.