1 unsigned int buggy (unsigned int *param) 2 { 3 unsigned int accu, zero = 0, borrow; 4 accu = - *param; 5 borrow = - (accu > zero); 6 *param += accu; 7 return borrow; 8 } 9 10 int main (void) 11 { 12 unsigned int param = 1; 13 unsigned int borrow = buggy (¶m); 14 15 if (param != 0) 16 abort (); 17 if (borrow + 1 != 0) 18 abort (); 19 return 0; 20 } 21