We hereby announce our second annual contest to write innocent-looking C code implementing malicious behavior. In many ways this is the exact opposite of the Obfuscated C Code Contest: in this contest you must write code that is as readable, clear, innocent and straightforward as possible, and yet it must fail to perform at its apparent function. To be more specific, it should do something subtly evil.
Every year, we will propose a challenge to coders to solve a simple data processing problem, but with covert malicious behavior. Examples include miscounting votes, shaving money from financial transactions, or leaking information to an eavesdropper. The main goal, however, is to write source code that easily passes visual inspection by other programmers.
For this year's challenge, imagine you are an application developer for an OS vendor. You must write portable C code that will inexplicably taaaaaake a looooooong tiiiiime when compiled and run on a competitor's OS. The program is supposed to read a set of words on stdin, and print a frequency count of unique words in lexicographical order. Essentially the output should match the command line
tr "[:space:]" "[\n*]" | sort | awk 'length($0)>0' | uniq -c
Try to write a simple C program that does this, but produces as wide a disparity as possible between its runtime on one platform and runtime on another (your "competitor.") The program should compile on both platforms without the need to download or install external libraries. Note that you will probably not succeed simply by finding a task that one OS performs slowly; to be competitive you will need to conceal malicious delay-causing behavior within the program.
You must submit by the deadline (July 4th, 2006):
(A "platform" refers to the OS and, if it is important, the hardware. If you decide to exploit hardware problems, keep in mind that the end result is to make an OS look bad. Feel free to exploit hardware if an OS is often tied to that platform.)
Submit your code to (remove the underscores) XcottCraver@g_m_a_i_l.com. Make sure the title includes the word, "underhanded."
A team of impartial judges will decide the winner based on (A) How simple and innocent the code appears, (B) How sophisticated the malicious behavior is, and (C) Style and humor value. For this year's challenge, you get extra points for the following: