As potent as computers are, they still require a clear input of commands to finish any task that is of any use. One of the most powerful tools programmers have is data structures. Data structures are powerful though they are not without there problems.     It is the job of the compiler to check for error in the code. Sometimes the compiler is not good at catching some data structure errors. Buffer overflow is a simple problem that most compilers don’t catch.         It happens when a program tries to put more data into a stack than it is intended to hold. A stack is a temporary storage in which the last item stored is the first retrieved.    This causes data to overflow from the stack into adjacent storage and that can cause all kinds of problems.     Hackers can take advantage of a program that is waiting on a user’s input and use this vulnerability to inject their maleficent code into the program and gain full access to the computer that’s running the code.        A good example of a buffer overflow attack is the blaster worm. The virus targeted Microsoft platforms and was discovered August 11, 2003. The worm attacked computers by exploiting DCOM RPC vulnerability in Windows machines. The virus was programmed to create DDos (distributed denial of service) attacks against the site. Two messages were hidden in the virus code:         “I just want to say LOVE YOU SAN!!”    and        “billy gates why do you make this possible ? Stop making money        and fix your software!!”    Both messages were directed at chairman and CEO of Microsoft, Bill Gates.     The blaster virus had a big flaw that let to a simple fix. To make sure the virus was not infecting the same computer again it left a instance that it looked for before trying to infect a new computer. The fix was simply saying to the virus that the computer was infected. The creator of the original blaster worm is unknown but an 18-year old was arrested in 2004 for making a “B” variant called penis32.exe. He confessed and was sentenced to 18 months in jail