Skip to content

src/leiningen/midje.clj: make-load-facts-form might use error code >125 #60

@ghost

Description

In src/leiningen/midje.clj, make-load-facts-form limits the error code to 255, which is unsafe as it might clash with error codes reserved by the shell - see e.g. man 1 bash:

EXIT STATUS
       The  exit  status  of  an  executed  command is the value returned by the
       waitpid system call or equivalent function.  Exit statuses fall between 0
       and 255, though, as explained below, the shell may use values above 125
       specially.  Exit statuses from shell builtins and compound commands are
       also limited to this range. Under certain circumstances, the shell will use
       special values to indicate specific failure modes.

       For the shell's purposes, a command which exits with a zero exit status
       has succeeded.  An exit status of zero indicates success.  A non-zero exit
       status indicates failure.  When a command terminates on a fatal signal N,
       bash uses the value of 128+N as the exit status.

       If a command is not found, the child process created to execute it returns
       a status of 127.  If a command is found but is not executable, the return
       status is 126.

       If a command fails because of an error during expansion or redirection, the
       exit status is greater than zero.

       Shell builtin commands return a status of 0 (true) if successful, and
       non-zero (false) if an error occurs while they execute.  All builtins return
       an exit status of 2 to indicate incorrect usage.

       Bash itself returns the exit status of the last command executed, unless a
       syntax error occurs, in which case it exits with a non-zero value.  See also
       the exit builtin command below.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions