patch
<software> 1. A temporary addition to a piece of code, usually as a
quick-and-dirty remedy to an existing bug or misfeature. A patch may or may not
work, and may or may not eventually be incorporated permanently into the
program. Distinguished from a diff or mod by the fact that a patch is generated
by more primitive means than the rest of the program; the classical examples are
instructions modified by using the front panel switches, and changes made
directly to the binary executable of a program originally written in an HLL.
Compare one-line fix.
2. To insert a patch into a piece of code.
3. [in the Unix world] A diff.
4. A set of modifications to binaries to be applied by a patching program. IBM
systems often receive updates to the operating system in the form of absolute
hexadecimal patches. If you have modified your OS, you have to disassemble these
back to the source code. The patches might later be corrected by other patches
on top of them (patches were said to "grow scar tissue"). The result was often a
convoluted patch space and headaches galore.
There is a classic story of a tiger team penetrating a secure military computer
that illustrates the danger inherent in binary patches (or, indeed, any patches
that you can't - or don't - inspect and examine before installing). They
couldn't find any trap doors or any way to penetrate security of IBM's OS, so
they made a site visit to an IBM office (remember, these were official military
types who were purportedly on official business), swiped some IBM stationery,
and created a fake patch. The patch was actually the trapdoor they needed. The
patch was distributed at about the right time for an IBM patch, had official
stationery and all accompanying documentation, and was dutifully installed. The
installation manager very shortly thereafter learned something about proper
procedures.
5. Larry Wall's "patch" utility, which automatically applies a patch to a set of
source code or other text files. Patch accepts input in any of the four forms
output by the Unix diff utility. When the files being patched are not identical
to those on which the diffs were based, patch uses heuristics to determine how
to proceed.
Diff and patch are the standard way of producing and applying updates under
Unix. Both have been ported to other operating systems.
Patch Home.
[Jargon File]
(2005-05-16)
Nearby terms:
paste « pastie « PAT « patch » patch pumpkin
» patch space » PATCHY
|