1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-13 13:18:06 +03:00

29 Commits

Author SHA1 Message Date
Günther Deschner
d6c60f8447 s3-nsstest: drastically shrink size and dependencies of nsstest binary.
The size went down from 6.4M to 104K on my box.

Guenther
2009-11-27 10:47:11 +01:00
Volker Lendecke
a95955f285 s3:nsstest: Fix a very confusing behaviour in nsstest
Testing getgrent I thought I get the offset calculations wrong whereas
it was only nsstest printing stuff with spaces...
2009-08-29 19:43:33 +02:00
Jelmer Vernooij
7b186c48d3 Remove sys_dl*() - stubs are already provided by libreplace. 2008-11-01 03:49:49 +01:00
Volker Lendecke
95c84dd791 Make nsstest valgrind-clean: buf is referred to by the parsed grp struct
(This used to be commit 20ddbcaa0c113646cea774c36209f382cada50b0)
2008-04-22 16:55:04 +02:00
Jeremy Allison
755051b569 pull_ascii_pstring is gone.
Jeremy.
(This used to be commit 288aacce4b56d159218be311019cb951e5a232fd)
2007-12-04 17:05:33 -08:00
Andrew Tridgell
5e54558c6d r23784: use the GPLv3 boilerplate as recommended by the FSF and the license text
(This used to be commit b0132e94fc5fef936aa766fb99a306b3628e9f07)
2007-10-10 12:28:22 -05:00
Jeremy Allison
d824b98f80 r23779: Change from v2 or later to v3 or later.
Jeremy.
(This used to be commit 407e6e695b8366369b7c76af1ff76869b45347b3)
2007-10-10 12:28:20 -05:00
Jeremy Allison
aab1dd4ddb r21755: Memory leak fixes from Zack Kirsch <zack.kirsch@isilon.com>.
Jeremy.
(This used to be commit 02d08ca0be8c374e30c3c0e665853fa9e57f043a)
2007-10-10 12:18:28 -05:00
Günther Deschner
7f88a7c948 r20630: Fix some trivial memleaks.
Guenther
(This used to be commit 3bb94a081888eca69796b14057b551b078ee9a77)
2007-10-10 12:17:00 -05:00
Jeremy Allison
fbdcf2663b r16945: Sync trunk -> 3.0 for 3.0.24 code. Still need
to do the upper layer directories but this is what
everyone is waiting for....

Jeremy.
(This used to be commit 9dafb7f48ca3e7af956b0a7d1720c2546fc4cfb8)
2007-10-10 11:19:14 -05:00
Jeremy Allison
894358a8f3 r13915: Fixed a very interesting class of realloc() bugs found by Coverity.
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)
2007-10-10 11:10:59 -05:00
Volker Lendecke
55739e9f86 r6640: Attempt to fix 'make everything' with the paranoid malloc checker.
Volker
(This used to be commit 3db2799822da3711b47b60ba13daa07205ced45f)
2007-10-10 10:56:49 -05:00
Gerald Carter
3a5dc7c2ec convert snprintf() calls using pstrings & fstrings
to pstr_sprintf() and fstr_sprintf() to try to standardize.
lots of snprintf() calls were using len-1; some were using
len.  At least this helps to be consistent.
(This used to be commit 9f835b85dd38cbe655eb19021ff763f31886ac00)
2003-07-23 12:33:59 +00:00
Tim Potter
80c1f1d865 Fixup a bunch of printf-style functions and debugs to use unsigned long when
displaying pid_t, uid_t and gid_t values.  This removes a whole lot of warnings
on some of the 64-bit build farm machines as well as help us out when 64-bit
uid/gid/pid values come along.
(This used to be commit f93528ba007c8800a850678f35f499fb7360fb9a)
2003-07-22 04:31:20 +00:00
Tim Potter
5e37c04c03 Back out some of the changes to nsstest. I've kept the NULL pointer
dereference bugfixes but left out the gethostbyname (wins) tests pending
a nicer way to integrate it.
(This used to be commit a7e67aaffe13b2828861046013b51d62aa1db057)
2003-06-20 02:31:15 +00:00
Tim Potter
7c16f64e38 Update nsstest to cope with wins NSS module as well as winbind NSS
module.  Use "wins" as the nss name to invoke this behaviour.

Also, fixed nsstest so it doesn't segfault when a nss function can't
be dlopened().  Log an error and abort the test gracefully instead.
(This used to be commit 66bafbe371359bbdec402ae47bc15024bec33f4e)
2003-06-16 03:30:53 +00:00
Jelmer Vernooij
0914e541f5 Reverse previous patch from Stefan and me after comments by Andrew Bartlett
(This used to be commit d817eaf0ecca2d878ab1ffcf7a747a02d71c811e)
2003-05-10 11:49:51 +00:00
Jelmer Vernooij
c507ebe567 Patch from metze and me that adds dummy smb_register_*() functions so
that is now possible to, for example, load a module which contains
an auth method into a binary without the auth/ subsystem built in.
(This used to be commit 74d9ecfe2dd7364643d32acb62ade957bd71cd0d)
2003-05-10 10:53:48 +00:00
Andrew Bartlett
634c54310c Merge from HEAD - make Samba compile with -Wwrite-strings without additional
warnings.  (Adds a lot of const).

Andrew Bartlett
(This used to be commit 3a7458f9472432ef12c43008414925fd1ce8ea0c)
2003-01-03 08:28:12 +00:00
Andrew Tridgell
e90b652848 updated the 3.0 branch from the head branch - ready for alpha18
(This used to be commit 03ac082dcb375b6f3ca3d810a6a6367542bc23ce)
2002-07-15 10:35:28 +00:00
Tim Potter
cd68afe312 Removed version number from file header.
Changed "SMB/Netbios" to "SMB/CIFS" in file header.
(This used to be commit 6a58c9bd06d0d7502a24bf5ce5a2faf0a146edfa)
2002-01-30 06:08:46 +00:00
Andrew Tridgell
e7da05b760 better nsstest error checking
(This used to be commit 7348a969bc994e6ef267449aadfdf6321c27baa6)
2001-12-19 08:40:50 +00:00
Andrew Tridgell
adbd4300fd set return value to total errors
(This used to be commit 4a7e1f6bb12e74effad83410c4b07683eaaa4617)
2001-12-09 07:18:59 +00:00
Andrew Tridgell
1445184502 better error checking in nsstest
(This used to be commit 3c17c64e31cbd56ada4e4bc0d371cef81e2e42cf)
2001-12-09 06:51:27 +00:00
Andrew Tridgell
82516cad1b - check for correct error codes
- handle no initgroups fn
(This used to be commit 84a3390eace7f6cf1f5fb867fc58a982f24fd0b6)
2001-12-09 06:10:40 +00:00
Andrew Tridgell
92dc801733 allow nsstest to test any nss module
(This used to be commit c531f4773e33cce4b4eb97c8f9147eed02edc2d5)
2001-12-06 22:42:27 +00:00
Andrew Tridgell
6f907af4e7 put sid_to_name behind the winbindd backend interface
I spent quite a while trying to work out how to make this call
via ldap and failed. I then found that MS servers seem use rpc
for sid_to_name, and it works even when in native mode, I ended
up just implementing it via rpc
(This used to be commit 789833b44e342c0b5de463ed8f9b5f7474a99f27)
2001-12-03 11:11:14 +00:00
Andrew Tridgell
fc85c8a3eb fixed default location of libnss_winbind.so
(This used to be commit adc9268216f87d915c9d971137b859c949e150dd)
2001-12-03 03:57:34 +00:00
Andrew Tridgell
37749cbb04 fixed the nsswitch initgroups code
added a nsstest test program that directly tests all the nss
interfaces using dlopen()
(This used to be commit aee19090d3b957372b234a412cd9db8896650feb)
2001-12-03 03:53:57 +00:00