Using a structure for a tdb key can lead to insideous, hard
authorHerb Lewis <herb@samba.org>
Wed, 10 May 2000 00:05:27 +0000 (00:05 +0000)
committerHerb Lewis <herb@samba.org>
Wed, 10 May 2000 00:05:27 +0000 (00:05 +0000)
commite522de480891b9d72ba4cd2d4c8decb6909809a9
tree9a188994f3a45f6a9fa37a987dac64637e87b534
parentf7089e3cbaa8429a5dd6f5ecf3f524291faa1881
Using a structure for a tdb key can lead to insideous, hard
to find bugs. On 64 bit IRIX, structure packing means that
a
struct {
SMB_DEV_T dev /* 4 bytes */
SMB_INO_T ino /* 8 bytes */
}

has 4 bytes of padding between the two members. If you
don't null the memory before using it as a tdb key,
you randomly can't find keys depending on what is in
the padding. This caused me immense pain and was hard
to track down.... :-)

Jeremy.
(This used to be commit f2a5ba3f0939f59097f0ef6a25f1cf9b5574f157)
source3/locking/brlock.c
source3/locking/locking.c
source3/locking/posix.c