  command: function (image, options) {
    if (image.startsWith('"')) {
      image = '"' + image + '"';
    }

    // assemble tesseract command
    const command = [options.binary, image, options.output];

    if (options.l !== null) {
      command.push('-l ' + options.l);
    }

    if (options.psm !== null) {
      command.push('--psm ' + options.psm);
    }

    if (options.config !== null) {
      command.push(options.config);
    }

    const names = Object.keys(options);
    names.forEach(function (name) {
      if (name.indexOf('-') === 0) {
        command.push(name + ' ' + options[name]);
      }
    });

    return command.join(' ');
  },
The software constructs all or part of a command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended command when it is sent to a downstream component.