the vararg list must be terminated with zero else 64bit machines may crash
authorRichard Hughes <richard@hughsie.com>
Mon, 30 Jun 2008 09:46:20 +0000 (10:46 +0100)
committerRichard Hughes <richard@hughsie.com>
Mon, 30 Jun 2008 09:46:20 +0000 (10:46 +0100)
commite911090d427fcf3cf57fa57d51c65cf724be770d
tree97b992368840d25e3a5d9d9cc4ed2e5c1895c6e7
parentd66068c79b8bb9173a3fa6dc5baf78ed1c9861de
the vararg list must be terminated with zero else 64bit machines may crash

On 64 bit systems, the integer 0 is 32 bits and the pointer 0 is 64 bits.
The upper 32 bits will not be cleared and the loop will never terminate.
Also add the RAZOR_SENTINEL __attribute__ ((__sentinel__(0))) on GCC4
so we catch where we get this wrong automatically.

This also fixes the new search functionality from James which was missed
in the merge.
librazor/iterator.c
librazor/razor.c
librazor/razor.h
librazor/transaction.c
src/main.c
src/rpm.c