Age | Commit message (Collapse) | Author | Files | Lines |
|
Jeremy.
(This used to be commit b51edde4d63e9b2f241f41b6780b026487890a7f)
|
|
Jeremy.
(This used to be commit 3a1c4cb93dc262028ffbebd9ebeed69f4816cf09)
|
|
realloc can return NULL in one of two cases - (1) the realloc failed,
(2) realloc succeeded but the new size requested was zero, in which
case this is identical to a free() call.
The error paths dealing with these two cases should be different,
but mostly weren't. Secondly the standard idiom for dealing with
realloc when you know the new size is non-zero is the following :
tmp = realloc(p, size);
if (!tmp) {
SAFE_FREE(p);
return error;
} else {
p = tmp;
}
However, there were *many* *many* places in Samba where we were
using the old (broken) idiom of :
p = realloc(p, size)
if (!p) {
return error;
}
which will leak the memory pointed to by p on realloc fail.
This commit (hopefully) fixes all these cases by moving to
a standard idiom of :
p = SMB_REALLOC(p, size)
if (!p) {
return error;
}
Where if the realloc returns null due to the realloc failing
or size == 0 we *guarentee* that the storage pointed to by p
has been freed. This allows me to remove a lot of code that
was dealing with the standard (more verbose) method that required
a tmp pointer. This is almost always what you want. When a
realloc fails you never usually want the old memory, you
want to free it and get into your error processing asap.
For the 11 remaining cases where we really do need to keep the
old pointer I have invented the new macro SMB_REALLOC_KEEP_OLD_ON_ERROR,
which can be used as follows :
tmp = SMB_REALLOC_KEEP_OLD_ON_ERROR(p, size);
if (!tmp) {
SAFE_FREE(p);
return error;
} else {
p = tmp;
}
SMB_REALLOC_KEEP_OLD_ON_ERROR guarentees never to free the
pointer p, even on size == 0 or realloc fail. All this is
done by a hidden extra argument to Realloc(), BOOL free_old_on_error
which is set appropriately by the SMB_REALLOC and SMB_REALLOC_KEEP_OLD_ON_ERROR
macros (and their array counterparts).
It remains to be seen what this will do to our Coverity bug count :-).
Jeremy.
(This used to be commit 1d710d06a214f3f1740e80e0bffd6aab44aac2b0)
|
|
Jeremy.
(This used to be commit 9ed3bd431c8b8073e177df463e254cf45529bed6)
|
|
(This used to be commit 23503ff45f2a377728bc5ebb1e6db2755bb5ca2b)
|
|
(This used to be commit 9d366da172a13fe9fd6e940f95d58dac534f3b31)
|
|
Jeremy.
(This used to be commit 4473ac4ef9c86574fc49b1e67089b59b14b6d10d)
|
|
x86_64 box.
Jeremy.
(This used to be commit d720867a788c735e56d53d63265255830ec21208)
|
|
* \PIPE\unixinfo
* winbindd's {group,alias}membership new functions
* winbindd's lookupsids() functionality
* swat (trunk changes to be reverted as per discussion with Deryck)
(This used to be commit 939c3cb5d78e3a2236209b296aa8aba8bdce32d3)
|
|
sorry :-).
Jeremy.
(This used to be commit b1722b7bd1eaabb725218a4fc5c8b012f0a1a0af)
|
|
Jeremy.
(This used to be commit cfe5a7e5f8eccecf8876c36ddeb0f6e91eb6aac4)
|
|
process holding the active if two cluster nodes access the same tdb.
Volker
(This used to be commit cbc66cc3cab0e1db31402505214c83e1be92663b)
|
|
Volker
(This used to be commit 5e6fef32b372e20cb570c578e2044e89f9ee45b3)
|
|
(This used to be commit c525c276c3bebd97f2c86684bd248ed00e889349)
|
|
safe for using our headers and linking with C++ modules. Stops us
from using C++ reserved keywords in our code.
Jeremy
(This used to be commit 9506b8e145982b1160a2f0aee5c9b7a54980940a)
|
|
loops in corrupted tdb files.
Jeremy.
(This used to be commit b438cb0a85217c978f1d7cb9f2a4fd97f38a3193)
|
|
version to 3.0.20pre1
(This used to be commit 9727d05241574042dd3aa8844ae5c701d22e2da1)
|
|
the read using a timeout to ensure that all data for the packet is received.
2 some minor changes to meet coding standards
3 eliminate some compiler warnings
(This used to be commit 7b4d4f6109d815ec70c65564435d7d9bd22f66d9)
|
|
new commands. It also restructures it so you can execute
a single command from the command line. Input strings are
parsed to allow input of arbitrary characters using the
\xx syntax for hex values.
(This used to be commit 94e53472666edfb390605b8a7e9f9dffc3c845f5)
|
|
tdb we fail gracefully.
Jeremy.
(This used to be commit 28772dfca1f9e7afd01f7ea522cb2e697c318e22)
|
|
(This used to be commit efea76ac71412f8622cd233912309e91b9ea52da)
|
|
1. using smbc_getxattr() et al, one may now request all access control
entities in the ACL without getting all other NT attributes.
2. added the ability to exclude specified attributes from the result set
provided by smbc_getxattr() et al, when requesting all attributes,
all NT attributes, or all DOS attributes.
3. eliminated all compiler warnings, including when --enable-developer
compiler flags are in use. removed -Wcast-qual flag from list, as that
is specifically to force warnings in the case of casting away qualifiers.
Note: In the process of eliminating compiler warnings, a few nasties were
discovered. In the file libads/sasl.c, PRIVATE kerberos interfaces
are being used; and in libsmb/clikrb5.c, both PRIAVE and DEPRECATED
kerberos interfaces are being used. Someone who knows kerberos
should look at these and determine if there is an alternate method
of accomplishing the task.
(This used to be commit 994694f7f26da5099f071e1381271a70407f33bb)
|
|
"qualifiers". The
whole of samba comiles warning-free with the default compiler flags.
Temporarily defined -Wall to locate other potential problems. Found an
unused static function (#ifdefed out rather than deleted, in case it's
needed for something in progress).
There are also a number of uses of undeclared functions, mostly krb5_*.
Files with these problems need to have appropriate header files included,
but they are not fixed in this update.
oplock_linux.c.c has undefined functions capget() and capset(), which need
to have "#undef _POSIX_SOURCE" specified before including <sys/capability.h>,
but that could potentially have other side effects, so that remains uncorrected
as well.
The flag -Wall should be added permanently to CFLAGS, and all warnings then
generated should be eliminated.
(This used to be commit 5b19ede88ed80318e392f8017f4573fbb2ecbe0f)
|
|
(This used to be commit d89b40e9b175b194cc7bdbc0277083efff89699c)
|
|
(This used to be commit 66471de977a56cbe58921f61da28cc7dcbc6e93e)
|
|
Yaakobovich" <Shlomi@exanet.com>
Jeremy.
(This used to be commit f997c28bb8ca253dca943a578a617b3c20ccfa5e)
|
|
allocation
functions so we can funnel through some well known functions. Should help greatly with
malloc checking.
HEAD patch to follow.
Jeremy.
(This used to be commit 620f2e608f70ba92f032720c031283d295c5c06a)
|
|
build when using gcc 3.0
(This used to be commit 1bc79a28080f2ff783b49e5cf3adfdfc4a4940ee)
|
|
Jeremy.
(This used to be commit c3e87f9fa53b0be1dea5dad5cddd71d2617c3cf6)
|
|
Spotted by Taj Khattra <taj.khattra@gmail.com>.
Jeremy.
(This used to be commit 365b203164bc813579013afb5dbb74f3604906c9)
|
|
(This used to be commit b6193f6d52a148c05b6b7cc33553f3b8ff94b64e)
|
|
(This used to be commit 53bfb76608efa347d5fe154c5583a5e8e3d53740)
|
|
support to
tdb log functions.
(This used to be commit 67c737118faaeae9bd723516ea60657046e135a8)
|
|
the logged offset was really the magic value, and the true offset was
never displayed.
(This used to be commit 30da4e777191c557226d5615cee5a9e28b198a8b)
|
|
open time,
it doesn't make sense anywhere else.
Jeremy.
(This used to be commit d7ea1ea8fb3420ca1ad8d95acdc43313898200ff)
|
|
a customer hash function for this tdb (yes it does make a difference
on benchmarks). Remove the no longer used hash.c code.
Jeremy.
(This used to be commit 3fbadac85b8cad89b93d295968e99c38c8677575)
|
|
tdbdump and tdbbackup.
(This used to be commit c5dc3da3406541891f412d32c292765d7b650f0f)
|
|
* updateing WHATSNEW with vl's change
(This used to be commit a7e2730ec4389e0c249886a8bfe1ee14c5abac41)
|
|
discussed and agreed previously
(This used to be commit 9d1a08d65c4235a2a3941bba5b71631c4c35c9b7)
|
|
(This used to be commit 1bba071126b46032c97154fbf77242e15bcc5fa3)
|
|
rafal
(This used to be commit 33d1e2dd63e3dbf592a666ae48bc013a8198d008)
|
|
I've now tested this in daemon mode and also on xinetd and I'm pretty
sure it's working.
Jeremy.
(This used to be commit 14dee038019b11300466b148c53515fc76e5e870)
|
|
it's supposed to do that.
(This used to be commit 2423a459471136d701b498ff0db797c70c6d0fce)
|
|
'newrec' into the tdb.
This was not initialised, so valgrind warned about it.
(Note: valgrind only makes sense on tdbs with 'mmap = no' in your smb.conf)
Andrew Bartlett
(This used to be commit c9f9d6d3171d720b4ec0ba6af8c0c8ab178cd98b)
|
|
Jeremy.
(This used to be commit 1ae1987a002716e8aa0d4bc0dd68f580ad762e47)
|
|
a locking problem on HPUX.
(This used to be commit 2d03d81f753fd819086d24a92eec5503f70246a0)
|
|
I still wouldn't recommend them, but at least they now work
(This used to be commit 76992e7d1655ed15d61254f2be651db020ec4f5e)
|
|
(no need to include all of smbd files to use some basic sec functions)
also minor compile fixes
couldn't compile to test these due to some kerberos problems wirh 3.0,
but on HEAD they're working well, so I suppose it's ok to commit
(This used to be commit c78f2d0bd15ecd2ba643bb141cc35a3405787aa1)
|
|
Jeremy.
(This used to be commit 93669f329eccec34d4a1da6239ae9759f067fb8b)
|
|
(This used to be commit e1fac713e25692a5790c3261ba323732930f5249)
|