clipped from underhanded.xcott.com
% cat luggage.dat
Your program must inexplicably misroute a piece of luggage if the right kind of free text comment is provided by the check-in clerk. Misrouting means that your program’s output either places that luggage on the wrong flight, or fails to provide a record when it should.
|
Spassosissimo contest: scrivere in linguaggio C un programmino che lavori su un archivio bagagli di compagnia aerea (come da esempio fornito), e in determinati casi (non necessariamente di qualche input sbagliato) faccia pasticci grossi (per esempio far perdere i bagagli).
Il programmino però deve essere scritto in modo tale da passare una eventuale "ispezione visiva" e la parte di codice che genera il problema non deve destare sospetti.
Si guadagnano più punti se l'errore, una volta scoperto (dunque non a prima vista) sembrerà da programmatore dilettante.
Quasi quasi partecipo anch'io (il vincitore vince un bonus acquisti di cento dollari). Ci sono infatti alcune funzioni di libreria, come la snprintf, che sarebbero intese a controllare e limitare i problemi, e invece, se "sapientemente" utilizzate, fanno danni...
Il programmino però deve essere scritto in modo tale da passare una eventuale "ispezione visiva" e la parte di codice che genera il problema non deve destare sospetti.
Si guadagnano più punti se l'errore, una volta scoperto (dunque non a prima vista) sembrerà da programmatore dilettante.
Quasi quasi partecipo anch'io (il vincitore vince un bonus acquisti di cento dollari). Ci sono infatti alcune funzioni di libreria, come la snprintf, che sarebbero intese a controllare e limitare i problemi, e invece, se "sapientemente" utilizzate, fanno danni...