Age | Commit message (Collapse) | Author | Files | Lines |
|
(This used to be commit 9f645e996279be74aaeebcbecbfa07adce49ec7c)
|
|
error path)
(This used to be commit 33a1e26114d7dfdfb72e393efa399454a588e11e)
|
|
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 fe63a6ee06149195032320dd0fb9b6c7dfb460d3)
|
|
and replace calls to isupper/islower/toupper/tolower with
ASCII equivalents (mapping into _w variants).
Jeremy.
(This used to be commit c2752347eb2deeb2798c580ec7fc751a847717e9)
|
|
Jeremy.
(This used to be commit cd192ed79a531c6775cdbfb35f0eb2e0fa230ce9)
|
|
of the Samba4 timezone handling code back into Samba3.
Gets rid of "kludge-gmt" and removes the effectiveness
of the parameter "time offset" (I can add this back
in very easily if needed) - it's no longer being
looked at. I'm hoping this will fix the problems people
have been having with DST transitions. I'll start comprehensive
testing tomorrow, but for now all modifications are done.
Splits time get/set functions into srv_XXX and cli_XXX
as they need to look at different timezone offsets.
Get rid of much of the "efficiency" cruft that was
added to Samba back in the day when the C library
timezone handling functions were slow.
Jeremy.
(This used to be commit 414303bc0272f207046b471a0364fa296b67c1f8)
|
|
(This used to be commit efea76ac71412f8622cd233912309e91b9ea52da)
|
|
(This used to be commit 85be4c5df398faa6c5bfacd1f9d2f12c39d411e1)
|
|
smbtar shouldn't assume /dev/null means dryrun.
Jeremy.
(This used to be commit 84e7b7db8992db7812b8e09b8633c257657fb91c)
|
|
(This used to be commit f88f5e12187ed87934ae2cafbf9e9599d4fd7f6c)
|
|
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)
|
|
'..' from all #include preprocessor commands. This fixes bugzilla #1880
where OpenVMS gets confused about the '.' characters.
(This used to be commit 7f161702fa4916979602cc0295919b541912acd6)
|
|
Jeremy.
(This used to be commit d434d8e2b47bc8553ee04bd7211f622e3fcbb7fb)
|
|
smbclient +
prepare for better error checking in tar..
(This used to be commit 374f00b56b7e9bff08e70ee2d93538b2c7fde7b7)
|
|
Apply Craig Barratt's fixes to allow multiple exlusion files and patterns.
Jeremy.
(This used to be commit 0272fac8ca40b3d4ea4de8ac8a2e371d450d12e6)
|
|
with filenames > 100 chars.
Jeremy.
(This used to be commit aa40a86cbe797cba4e281cb8dc09b2ae67e93dc2)
|
|
Jeremy
(This used to be commit e2b73477e772ac2f527719df0d3d64c67649bb1c)
|
|
smbclient -T
Fixes bug 345.
(This used to be commit a46e58e2b6e3d9526012d6a2d903163a3373fa59)
|
|
(This used to be commit e3b36906c53bd4a9231c2efb007cec234e52a78f)
|
|
Jeremy.
(This used to be commit 520bee397d946766cef8ab9f0d7d89064106f510)
|
|
Jeremy.
(This used to be commit 455ed2d51d86f39ce0fa6e6abca31a5425d2ea17)
|
|
Jeremy.
(This used to be commit c4af1ec73584656fb9d2b372461da4748e1643f1)
|
|
Jeremy.
(This used to be commit 5ef75fa36620a87e8fd8567b854ea0770d8125ea)
|
|
Jeremy.
(This used to be commit 77f2a91549c8b61e74e2088faef2b61612803aed)
|
|
Jeremy.
(This used to be commit 94b30e7b4a4f71d3aa2fefee60b9ea8ead2acccd)
|
|
Fixes bug 102.
(This used to be commit b54183a7b23d1046faad0890de3fdda3df0fec88)
|
|
strupper_m/strlower_m.
I really want people to think about when they're using multibyte strings.
Jeremy.
(This used to be commit ff222716a08af65d26ad842ce4c2841cc6540959)
|
|
- "Fix lingering large offset problems in smbtar etc."
(This used to be commit ba53df64cab5dc0ea9f2b7d82007bf655f85bc67)
|
|
This patch catches up on the rest of the work - as much string checking
as is possible is done at compile time, and the rest at runtime.
Lots of code converted to pstrcpy() etc, and other code reworked to correctly
call sizeof().
Andrew Bartlett
(This used to be commit c5b604e2ee67d74241ae2fa07ae904647d35a2be)
|
|
(This used to be commit 1af39523cc3b2313f3e8acd4f2e5338182ec0b13)
|
|
warnings. (Adds a lot of const).
Andrew Bartlett
(This used to be commit 3a7458f9472432ef12c43008414925fd1ce8ea0c)
|
|
(This used to be commit 17f685fdbf5d36f82e3da0a09457f5e248b3f109)
|
|
(This used to be commit 41188337c3fa8c716dc7a4721ee5c31e5ddd928d)
|
|
(This used to be commit 3928578b52cfc949be5e0ef444fce1558d75f290)
|
|
(This used to be commit 03ac082dcb375b6f3ca3d810a6a6367542bc23ce)
|
|
Changed "SMB/Netbios" to "SMB/CIFS" in file header.
(This used to be commit 6a58c9bd06d0d7502a24bf5ce5a2faf0a146edfa)
|
|
of gettext for internationalisation support. There is more to do
(This used to be commit ab7f67677a1ade4669e5c2750d0a38422ea616a9)
|
|
in scripts.
Thanks to Claudio Cicali aka FleXer for the initial patch
(This used to be commit 53b95b3c0fd087b1cade95fd8de849547ac3bfcb)
|
|
(This used to be commit 2d0922b0eabfdc0aaf1d0797482fef47ed7fde8e)
|
|
(This used to be commit 29db6ef7a7c4df51adf964c0aecb1164e4ab7dee)
|
|
(This used to be commit f41c3bb80f1e498a9d27f6e236b0ff3a742764c9)
|
|
replacemnt of stdio that doesn't suffer from the 8-bit filedescriptor
limit that we hit with nasty consequences on some systems
I would eventually prefer us to have a configure test to see if we need
to replace stdio, but for now this code needs to be tested widely so
I'm enabling it by default.
(This used to be commit 1af8bf34f1caa3e7ec312d8109c07d32a945a448)
|
|
in particular:
- fixed NT status code for a bunch of ops
- fixed handling of protocol levels in ms_fnmatch
(This used to be commit 3eba9606f71f90bfd9820af26f8676277ed22390)
|
|
many possible mem leaks, and segfaults fixed.
someone should port this fix to 2.2 also.
(This used to be commit fa8e55b8b465114ce209344965c1ca0333b84db9)
|
|
can't redefine them. damn.
(This used to be commit c41fc06376d1a2b83690612304e85010b5e5f3cf)
|
|
This commit gets rid of all our old codepage handling and replaces it with
iconv. All internal strings in Samba are now in "unix" charset, which may
be multi-byte. See internals.doc and my posting to samba-technical for
a more complete explanation.
(This used to be commit debb471267960e56005a741817ebd227ecfc512a)
|
|
but the code suffered from bitrot and is not now reentrant. That means
we can get bizarre behaviour
i've fixed this by making next_token() reentrant and creating a
next_token_nr() that is a small non-reentrant wrapper for those lumps
of code (mostly smbclient) that have come to rely on the non-reentrant
behaviour
(This used to be commit 674ee2f1d12b0afc164a9e9072758fd1c5e54df7)
|
|
Jeremy.
(This used to be commit 0c9a92a0557b2595e520cbaf2feaa587f9e7502d)
|
|
Jeremy.
(This used to be commit cf05709ec394d6cac14577c033d658bdc4506208)
|