samba.git
16 years agor14129: Add the group sids from the Kerberos PAC to the user token.
Günther Deschner [Fri, 10 Mar 2006 08:26:40 +0000 (08:26 +0000)]
r14129: Add the group sids from the Kerberos PAC to the user token.

Guenther

16 years agor14128: Remove warning generated by coverity scan tool (missing SAFE_FREE in error...
Steve French [Fri, 10 Mar 2006 04:18:29 +0000 (04:18 +0000)]
r14128: Remove warning generated by coverity scan tool (missing SAFE_FREE in error path)

16 years agor14127: Remove coverity warning on mount.cifs.c
Steve French [Fri, 10 Mar 2006 04:05:49 +0000 (04:05 +0000)]
r14127: Remove coverity warning on mount.cifs.c

16 years agor14126: resolve two warnings from the coverity scan
Steve French [Fri, 10 Mar 2006 03:47:57 +0000 (03:47 +0000)]
r14126: resolve two warnings from the coverity scan

16 years agor14121: We never pass NULL to the rpc_api_pipe fn so don't
Jeremy Allison [Thu, 9 Mar 2006 23:20:52 +0000 (23:20 +0000)]
r14121: We never pass NULL to the rpc_api_pipe fn so don't
trigger coverity checks by testing for NULL.
Jeremy.

16 years agor14118: Fix coverity bug #24. Missing return statement meant
Jeremy Allison [Thu, 9 Mar 2006 22:49:38 +0000 (22:49 +0000)]
r14118: Fix coverity bug #24. Missing return statement meant
a possible NULL ptr deref.
Jeremy.

16 years agor14115: Fix coverity bug #23. Don't deref a potentially null ptr.
Jeremy Allison [Thu, 9 Mar 2006 22:46:42 +0000 (22:46 +0000)]
r14115: Fix coverity bug #23. Don't deref a potentially null ptr.
Jeremy.

16 years agor14112: * fix checks on return code from register_vuid() which could actually
Gerald Carter [Thu, 9 Mar 2006 22:31:37 +0000 (22:31 +0000)]
r14112: * fix checks on return code from register_vuid() which could actually
  fail and we would still return success in the SMBsesssetup reply :-(
* Make sure to create the local token for the server_fino struct
  in reply_spnego_kerberos() so that register_vuid() does not fail.
  (how did this ever work?)

16 years agor14111: Work around additional typedefs in the gamin implementation
James Peach [Thu, 9 Mar 2006 22:31:05 +0000 (22:31 +0000)]
r14111: Work around additional typedefs in the gamin implementation
of the FAM API.

16 years agor14106: Fix from William Jojo for AIX vfs builds. Thanks Bill !
Jeremy Allison [Thu, 9 Mar 2006 22:00:12 +0000 (22:00 +0000)]
r14106: Fix from William Jojo for AIX vfs builds. Thanks Bill !
Jeremy.

16 years agor14103: Fix a memleak found by valgrind (!!)
Volker Lendecke [Thu, 9 Mar 2006 21:15:10 +0000 (21:15 +0000)]
r14103: Fix a memleak found by valgrind (!!)

16 years agor14102: Fix Coverity bug # 70
Volker Lendecke [Thu, 9 Mar 2006 21:13:54 +0000 (21:13 +0000)]
r14102: Fix Coverity bug # 70

16 years agor14101: Fix a segfault in trustdom establish, cli is NULL here.
Volker Lendecke [Thu, 9 Mar 2006 21:07:15 +0000 (21:07 +0000)]
r14101: Fix a segfault in trustdom establish, cli is NULL here.

16 years agor14099: Fix Coverity # 113
Volker Lendecke [Thu, 9 Mar 2006 20:51:22 +0000 (20:51 +0000)]
r14099: Fix Coverity # 113

16 years agor14098: Fix Coverity # 112
Volker Lendecke [Thu, 9 Mar 2006 20:42:01 +0000 (20:42 +0000)]
r14098: Fix Coverity # 112

16 years agor14092: Fix coverity bug #22. Ensure no possible null
Jeremy Allison [Thu, 9 Mar 2006 19:51:38 +0000 (19:51 +0000)]
r14092: Fix coverity bug #22. Ensure no possible null
deref.
Jeremy.

16 years agor14090: Fix coverity bug #21, don't deref potential null.
Jeremy Allison [Thu, 9 Mar 2006 19:13:55 +0000 (19:13 +0000)]
r14090: Fix coverity bug #21, don't deref potential null.
Jeremy.

16 years agor14088: Fix Coverity bug #20. Don't deref possible null.
Jeremy Allison [Thu, 9 Mar 2006 19:03:31 +0000 (19:03 +0000)]
r14088: Fix Coverity bug #20. Don't deref possible null.
Jeremy.

16 years agor14087: Protect against domain being NULL. Finish Coverity #152.
Jeremy Allison [Thu, 9 Mar 2006 18:35:57 +0000 (18:35 +0000)]
r14087: Protect against domain being NULL. Finish Coverity #152.
Jeremy.

16 years agor14085: Fix coverity bg #152, uninit'ed var.
Jim McDonough [Thu, 9 Mar 2006 18:03:54 +0000 (18:03 +0000)]
r14085: Fix coverity bg #152, uninit'ed var.

16 years agor14083: Fix coverity bug #19. Don't deref possible NULL.
Jeremy Allison [Thu, 9 Mar 2006 18:01:42 +0000 (18:01 +0000)]
r14083: Fix coverity bug #19. Don't deref possible NULL.
Jeremy.

16 years agor14080: Fix Coverity bug #18. Ensure non-null before ref.
Jeremy Allison [Thu, 9 Mar 2006 17:56:16 +0000 (17:56 +0000)]
r14080: Fix Coverity bug #18. Ensure non-null before ref.
Jeremy.

16 years agor14077: fix build breakage
Gerald Carter [Thu, 9 Mar 2006 16:28:38 +0000 (16:28 +0000)]
r14077: fix build breakage

16 years agor14076: When the backends trusted_domains call comes back with no trusts the
Günther Deschner [Thu, 9 Mar 2006 16:08:15 +0000 (16:08 +0000)]
r14076: When the backends trusted_domains call comes back with no trusts the
NTSTATUS code will be NT_STATUS_NO_MORE_ENTRIES. In that case store
NT_STATUS_OK in the centry so that the entry does not automatically
deleted upon startup or invalidated upon next query.

Guenther

16 years agor14075: * add support for long variable names in smb.conf in the form of %(....)
Gerald Carter [Thu, 9 Mar 2006 15:51:55 +0000 (15:51 +0000)]
r14075: * add support for long variable names in smb.conf in the form of %(....)
* add support for %(DomainSID)
* replace standard_sub_XXX() functions with wrappers around their
  alloc_sub_XXX() counterparts
* add support for using SIDs in read list, et. al. (anything that
  is checked by nt_token_contains_name_in_list())

16 years agor14074: Some cleanup; there is no point in declaring and mapping
Günther Deschner [Thu, 9 Mar 2006 14:51:40 +0000 (14:51 +0000)]
r14074: Some cleanup; there is no point in declaring and mapping
KRB5KRB_ERR_RESPONSE_TOO_BIG when the krb5 library does not know about
this.

Guenther

16 years agor14062: Forgot those in the uint16/32 acb_info switch.
Günther Deschner [Thu, 9 Mar 2006 11:01:43 +0000 (11:01 +0000)]
r14062: Forgot those in the uint16/32 acb_info switch.

Guenther

16 years agor14061: Some debugging for the new LOGON/ACB-flags.
Günther Deschner [Thu, 9 Mar 2006 10:57:39 +0000 (10:57 +0000)]
r14061: Some debugging for the new LOGON/ACB-flags.

Guenther

16 years agor14060: Only set the last rebind timestamp when we did rebind after a non-read
Günther Deschner [Thu, 9 Mar 2006 09:08:11 +0000 (09:08 +0000)]
r14060: Only set the last rebind timestamp when we did rebind after a non-read
LDAP operation. That way we avoid the replication sleep after a simple
redirected search operation

Guenther

16 years agor14057: Remove generated script/gen-8bit-gap.sh while calling rule realclean.
Lars Müller [Wed, 8 Mar 2006 21:46:16 +0000 (21:46 +0000)]
r14057: Remove generated script/gen-8bit-gap.sh while calling rule realclean.

Ignore script/gen-8bit-gap.sh in branches/SAMBA_3_0/source/script as we
already do in trunk.

16 years agor14056: Also install the mount.smbfs sym link to rootsbindir. Therfore we have
Lars Müller [Wed, 8 Mar 2006 21:42:12 +0000 (21:42 +0000)]
r14056: Also install the mount.smbfs sym link to rootsbindir.  Therfore we have
to substitute rootsbindir in {,un}installbin.sh.in.

Pass $prefix as third arg to installbin/ uninstallbin as rootsbindir by
default is $prefix/sbin.

16 years agor14053: Implement Simo's suggestion: don't use /dev/null for a 'bad' path for
Jim McDonough [Wed, 8 Mar 2006 21:29:49 +0000 (21:29 +0000)]
r14053: Implement Simo's suggestion: don't use /dev/null for a 'bad' path for
users/workstations

16 years agor14052: Remove BASEDIR use in the Makefile. BASEDIR=prefix=@prefix@ till now.
Lars Müller [Wed, 8 Mar 2006 21:20:43 +0000 (21:20 +0000)]
r14052: Remove BASEDIR use in the Makefile.  BASEDIR=prefix=@prefix@ till now.
I suggest to stay with ^BASEDIR= @prefix@$ for at least the next release
to give external projects - like samba-vscan project - time to adopt
this change.

BASEDIR is non of the default autoconf variables.  prefix is.

Jerry1: If possible please announce this with the next release.  I'll
self reply to technical.

Jerry2: This does not break your makepkg stuff as you set BASEDIR
_not_ from the Makefile.

16 years agor14051: Add remaining (documented) userAccountControl bits, thanks to Luke
Günther Deschner [Wed, 8 Mar 2006 21:10:20 +0000 (21:10 +0000)]
r14051: Add remaining (documented) userAccountControl bits, thanks to Luke
Howard for pointing this out.

Guenther

16 years agor14050: Add the ACB_PWEXPIRED bit abartlet has found.
Günther Deschner [Wed, 8 Mar 2006 21:05:32 +0000 (21:05 +0000)]
r14050: Add the ACB_PWEXPIRED bit abartlet has found.

Guenther

16 years agor14049: Found some more MSV1_0 bits and their behaviour;
Günther Deschner [Wed, 8 Mar 2006 20:57:41 +0000 (20:57 +0000)]
r14049: Found some more MSV1_0 bits and their behaviour;
just for documentation purpose.

Guenther

16 years agor14047: Coverity fix #17. Ensure srv_name and info cannot
Jeremy Allison [Wed, 8 Mar 2006 20:07:24 +0000 (20:07 +0000)]
r14047: Coverity fix #17. Ensure srv_name and info cannot
be zero before deref.
Jeremy.

16 years agor14045: Coverity fix #14. Ensure if len is set buf != NULL.
Jeremy Allison [Wed, 8 Mar 2006 20:02:50 +0000 (20:02 +0000)]
r14045: Coverity fix #14. Ensure if len is set buf != NULL.
Jeremy.

16 years agor14043: After discussion with Jerry revert part of the
Jeremy Allison [Wed, 8 Mar 2006 17:50:44 +0000 (17:50 +0000)]
r14043: After discussion with Jerry revert part of the
Coverity null-ref patch - put prs_rpcbuffer_p
back to the way it was (with an additional
coverity paranoia check) - move the real test
into rpcbuf_alloc_size instead.
Jeremy.

16 years agor14042: check that create_local_nt_token() succeeds before dereferncing the NT_USER_T...
Gerald Carter [Wed, 8 Mar 2006 15:18:14 +0000 (15:18 +0000)]
r14042: check that create_local_nt_token() succeeds before dereferncing the NT_USER_TOKEN*

16 years agor14036: Ok, the last one generated a const warning. Also fix Coverity # 119.
Volker Lendecke [Wed, 8 Mar 2006 08:51:19 +0000 (08:51 +0000)]
r14036: Ok, the last one generated a const warning. Also fix Coverity # 119.

net rpc vampire is ugly....

Volker

16 years agor14035: Fix Coverity bug # 124
Volker Lendecke [Wed, 8 Mar 2006 08:41:36 +0000 (08:41 +0000)]
r14035: Fix Coverity bug # 124

16 years agor14034: Fix Coverity id # 125.
Volker Lendecke [Wed, 8 Mar 2006 08:28:42 +0000 (08:28 +0000)]
r14034: Fix Coverity id # 125.

Jeremy, you might want to take a look here.

Volker

16 years agor14033: Fix Coverity bug # 126
Volker Lendecke [Wed, 8 Mar 2006 08:22:42 +0000 (08:22 +0000)]
r14033: Fix Coverity bug # 126

16 years agor14031: Coverity bug CID #110. Free all resources correctly
Jeremy Allison [Wed, 8 Mar 2006 07:30:37 +0000 (07:30 +0000)]
r14031: Coverity bug CID #110. Free all resources correctly
on pipe initialization failure.
Jeremy.

16 years agor14030: Fix resource leak in error codepath. Coverity CID #64.
Jeremy Allison [Wed, 8 Mar 2006 07:20:11 +0000 (07:20 +0000)]
r14030: Fix resource leak in error codepath. Coverity CID #64.
Jeremy.

16 years agor14026: Fix resource leak on error exit. Coverity CID #65.
Jeremy Allison [Wed, 8 Mar 2006 07:13:23 +0000 (07:13 +0000)]
r14026: Fix resource leak on error exit. Coverity CID #65.
Jeremy.

16 years agor14025: Remove unused code. When we want to export samsync, we better first port
Volker Lendecke [Wed, 8 Mar 2006 06:51:38 +0000 (06:51 +0000)]
r14025: Remove unused code. When we want to export samsync, we better first port
pidl...

Fix Coverity # 15.

Volker

16 years agor14023: My last bug fix still left a potential null deref.
Jeremy Allison [Wed, 8 Mar 2006 06:42:39 +0000 (06:42 +0000)]
r14023: My last bug fix still left a potential null deref.
C- "must try harder" :-).
Jeremy.

16 years agor14022: Fix Coverity bug # 92
Volker Lendecke [Wed, 8 Mar 2006 06:39:33 +0000 (06:39 +0000)]
r14022: Fix Coverity bug # 92

16 years agor14020: Coverity bug CID #66. Missing free on error exit.
Jeremy Allison [Wed, 8 Mar 2006 06:36:40 +0000 (06:36 +0000)]
r14020: Coverity bug CID #66. Missing free on error exit.
Jeremy.

16 years agor14018: Coverity error CID #27. Missing return -1 on error condition.
Jeremy Allison [Wed, 8 Mar 2006 06:32:26 +0000 (06:32 +0000)]
r14018: Coverity error CID #27. Missing return -1 on error condition.
Jeremy.

16 years agor14017: Okay, okay, I have turned a double-free into dead code :-)
Volker Lendecke [Wed, 8 Mar 2006 06:32:21 +0000 (06:32 +0000)]
r14017: Okay, okay, I have turned a double-free into dead code :-)

Fix Coverity # 214.

Volker

16 years agor14014: Coverity paranoia. Shut it up by making the guarentee
Jeremy Allison [Wed, 8 Mar 2006 06:16:54 +0000 (06:16 +0000)]
r14014: Coverity paranoia. Shut it up by making the guarentee
in the code explicit - but this was a false positive (CID #16).
Jeremy.

16 years agor14009: Remove last const warning (have to use CONST_DISCARD).
Jeremy Allison [Wed, 8 Mar 2006 02:05:36 +0000 (02:05 +0000)]
r14009: Remove last const warning (have to use CONST_DISCARD).
Jeremy.

16 years agor14007: Coverity bug CID #197. Don't compare against 0, we
Jeremy Allison [Wed, 8 Mar 2006 01:43:23 +0000 (01:43 +0000)]
r14007: Coverity bug CID #197. Don't compare against 0, we
mean the ttl instead.
Jeremy.

16 years agor14006: Fix a couple of irritating warnings.
Jeremy Allison [Wed, 8 Mar 2006 01:40:15 +0000 (01:40 +0000)]
r14006: Fix a couple of irritating warnings.
Jeremy.

16 years agor14003: Clarify code that lead to Coverity report #13.
Jeremy Allison [Wed, 8 Mar 2006 01:18:18 +0000 (01:18 +0000)]
r14003: Clarify code that lead to Coverity report #13.
Not a bug, but better to remove false positives.
Jeremy.

16 years agor14002: Quick fix for Coverity CID #12.
Jeremy Allison [Wed, 8 Mar 2006 01:04:17 +0000 (01:04 +0000)]
r14002: Quick fix for Coverity CID #12.
Jeremy

16 years agor13999: Quick fix for Coverity bug #11.
Jeremy Allison [Wed, 8 Mar 2006 01:01:34 +0000 (01:01 +0000)]
r13999: Quick fix for Coverity bug #11.
Jeremy.

16 years agor13997: Prefix $prefix by default even to rootsbindir as we else run in trouble
Lars Müller [Tue, 7 Mar 2006 23:04:08 +0000 (23:04 +0000)]
r13997: Prefix $prefix by default even to rootsbindir as we else run in trouble
if we use ./configure --prefix=dir && make install

Vendors might use ./configure --with-rootsbindir=/sbin && make
DESTDIR=/var/tmp/samba/ install if they use a buildroot.

Thanks to Björn Jacke for pointing me at the stderr output of the build
farm.

16 years agor13994: Belt and braces - ensure RPC_BUFFER is valid.
Jeremy Allison [Tue, 7 Mar 2006 21:13:19 +0000 (21:13 +0000)]
r13994: Belt and braces - ensure RPC_BUFFER is valid.
Jeremy.

16 years agor13991: Fix Coverity bug # 69
Volker Lendecke [Tue, 7 Mar 2006 21:03:48 +0000 (21:03 +0000)]
r13991: Fix Coverity bug # 69

16 years agor13989: Fix for Coverity bug #45 and associated spoolss RPC_BUFFER
Jeremy Allison [Tue, 7 Mar 2006 20:52:43 +0000 (20:52 +0000)]
r13989: Fix for Coverity bug #45 and associated spoolss RPC_BUFFER
problems. Ensure that if the parse succeeds on UNMARSHALL
we have a valid (although possibly empty) RPC_BUFFER returned.
Jeremy.

16 years agor13987: Fix Coverity bug # 74. This tool is good...
Volker Lendecke [Tue, 7 Mar 2006 20:44:12 +0000 (20:44 +0000)]
r13987: Fix Coverity bug # 74. This tool is good...

Thanks,

Volker

16 years agor13984: Fix Coverity bug # 98
Volker Lendecke [Tue, 7 Mar 2006 20:32:08 +0000 (20:32 +0000)]
r13984: Fix Coverity bug # 98

16 years agor13983: Fix Coverity bug # 111
Volker Lendecke [Tue, 7 Mar 2006 20:24:28 +0000 (20:24 +0000)]
r13983: Fix Coverity bug # 111

16 years agor13981: Fix Coverity bug # 138
Volker Lendecke [Tue, 7 Mar 2006 20:14:47 +0000 (20:14 +0000)]
r13981: Fix Coverity bug # 138

16 years agor13980: Fix Coverity bug # 63. Jeremy, could you take a look at this?
Volker Lendecke [Tue, 7 Mar 2006 19:52:26 +0000 (19:52 +0000)]
r13980: Fix Coverity bug # 63. Jeremy, could you take a look at this?

Thanks,

Volker

16 years agor13979: We've dereferenced my_methods already, so there's no point in checking for
Volker Lendecke [Tue, 7 Mar 2006 19:24:28 +0000 (19:24 +0000)]
r13979: We've dereferenced my_methods already, so there's no point in checking for
!= NULL. Coverity #149.

Volker

16 years agor13978: Here is why it's essential to use SAFE_FREE instead of free.
Jeremy Allison [Tue, 7 Mar 2006 19:18:56 +0000 (19:18 +0000)]
r13978: Here is why it's essential to use SAFE_FREE instead of free.
If we use free(data.dptr) and then the subsequent tdb_open
fails in _reg_perfcount_get_counter_data() then data.dptr
is left as a non-zero pointer that has been freed. This would
cause it to be reused later on. Coverity bug #162.
Jeremy.

16 years agor13975: Re-fix Coverity #156 - I had left the hidden arg. inconsistent
Jeremy Allison [Tue, 7 Mar 2006 18:52:48 +0000 (18:52 +0000)]
r13975: Re-fix Coverity #156 - I had left the hidden arg. inconsistent
between Realloc and realloc_array.
Jeremy.

16 years agor13971: Fix Coverity bugs #209 - #213 - it detected mistakes
Jeremy Allison [Tue, 7 Mar 2006 18:00:21 +0000 (18:00 +0000)]
r13971: Fix Coverity bugs #209 - #213 - it detected mistakes
in the pointer aliasing once realloc could change
a pointer. This was in the bugzilla.samba.org database
as #687 but we never figured out what it was !
Jeremy.

16 years agor13968: fix typo, caught by Guenther
Jim McDonough [Tue, 7 Mar 2006 17:49:26 +0000 (17:49 +0000)]
r13968: fix typo, caught by Guenther

16 years agor13965: Make sure we always reset the userAccountControl bits when re-joining
Günther Deschner [Tue, 7 Mar 2006 16:56:31 +0000 (16:56 +0000)]
r13965: Make sure we always reset the userAccountControl bits when re-joining
with an existing account.

Guenther

16 years agor13958: Fix Coverity Bug # 141
Volker Lendecke [Tue, 7 Mar 2006 16:33:36 +0000 (16:33 +0000)]
r13958: Fix Coverity Bug # 141

16 years agor13957: Based on patch from Richard Renard <richard.renard@idealx.com>:
Jim McDonough [Tue, 7 Mar 2006 16:29:25 +0000 (16:29 +0000)]
r13957: Based on patch from Richard Renard <richard.renard@idealx.com>:
Fix machine accounts (should not have valid shells) and users with no
home directory (were getting previous user's directory).

16 years agor13955: Fix Coverity ID 139.
Volker Lendecke [Tue, 7 Mar 2006 16:28:05 +0000 (16:28 +0000)]
r13955: Fix Coverity ID 139.

Not a bug in the strictest sense, more a clarification. This whole routine
assumes new_gid != NULL anyway, so there's no point in checking.

Volker

16 years agor13951: Fix Coverity Bug #163.
Volker Lendecke [Tue, 7 Mar 2006 16:06:26 +0000 (16:06 +0000)]
r13951: Fix Coverity Bug #163.

This code was not used anyway :-)

Volker

16 years agor13950: Fix Coverity bug #168
Volker Lendecke [Tue, 7 Mar 2006 16:01:57 +0000 (16:01 +0000)]
r13950: Fix Coverity bug #168

16 years agor13948: Fix the build. Remove rpcclient.h include.
Jim McDonough [Tue, 7 Mar 2006 15:32:18 +0000 (15:32 +0000)]
r13948: Fix the build.  Remove rpcclient.h include.

16 years agor13947: Use tabs instead of spaces for indention.
Lars Müller [Tue, 7 Mar 2006 15:27:35 +0000 (15:27 +0000)]
r13947: Use tabs instead of spaces for indention.

16 years agor13946: Link pam_smbpass with the required object files. Fix bug #3565.
Lars Müller [Tue, 7 Mar 2006 15:25:10 +0000 (15:25 +0000)]
r13946: Link pam_smbpass with the required object files.  Fix bug #3565.

16 years agor13945: Move display_sec.c to lib/ (as suggested by Volker).
Günther Deschner [Tue, 7 Mar 2006 15:17:01 +0000 (15:17 +0000)]
r13945: Move display_sec.c to lib/ (as suggested by Volker).

Guenther

16 years agor13916: Fix Coverity bug #29. Looks like my code. I wonder how much there is still
Volker Lendecke [Tue, 7 Mar 2006 09:09:13 +0000 (09:09 +0000)]
r13916: Fix Coverity bug #29. Looks like my code. I wonder how much there is still
lurking...

Volker

16 years agor13915: Fixed a very interesting class of realloc() bugs found by Coverity.
Jeremy Allison [Tue, 7 Mar 2006 06:31:04 +0000 (06:31 +0000)]
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.

16 years agor13914: Fix Coverity bug #151.
Volker Lendecke [Tue, 7 Mar 2006 06:22:35 +0000 (06:22 +0000)]
r13914: Fix Coverity bug #151.

I think this is actually a false warning, but as I've seen it with high gcc
warning levels, lets fix it :-)

Volker

16 years agor13895: As agreed upon with gd on the phone, remove WBFLAG_PAM_CONTACT_TRUSTDOM....
Volker Lendecke [Mon, 6 Mar 2006 20:18:18 +0000 (20:18 +0000)]
r13895: As agreed upon with gd on the phone, remove WBFLAG_PAM_CONTACT_TRUSTDOM. This
can not work for NTLM auth, where we only have a workstation account for our
own domain. For the PAM Kerberos login we need to find a better way to do
this, probably using Dsr_GetDCName and some winbind-crafted krb5.conf.

Volker

16 years agor13893: Fix for Coverity issue CID #164. The first one that I don't
Jeremy Allison [Mon, 6 Mar 2006 20:16:51 +0000 (20:16 +0000)]
r13893: Fix for Coverity issue CID #164. The first one that I don't
think is a direct bug, but some code that needs clarification :-).
Jeremy.

16 years agor13892: Doh ! My bugfix had a bug :-). Spotted by Willi Mann <willi@wm1.at>,
Jeremy Allison [Mon, 6 Mar 2006 20:05:20 +0000 (20:05 +0000)]
r13892: Doh ! My bugfix had a bug :-). Spotted by  Willi Mann <willi@wm1.at>,
if rrec can be null make sure we *never* deref it.
Jeremy.

16 years agor13889: Fix resource leak on error path. Coverity bug CID #73.
Jeremy Allison [Mon, 6 Mar 2006 19:48:00 +0000 (19:48 +0000)]
r13889: Fix resource leak on error path. Coverity bug CID #73.
Jeremy.

16 years agor13887: Fix coverity bug CID #94. mem leak on error codepath.
Jeremy Allison [Mon, 6 Mar 2006 19:34:25 +0000 (19:34 +0000)]
r13887: Fix coverity bug CID #94. mem leak on error codepath.
Jeremy.

16 years agor13884: Fix coverity CID #95. Resource leak on error path.
Jeremy Allison [Mon, 6 Mar 2006 19:30:34 +0000 (19:30 +0000)]
r13884: Fix coverity CID #95. Resource leak on error path.
Jeremy.

16 years agor13882: Fix coverity CID bug #96. Missing free on error
Jeremy Allison [Mon, 6 Mar 2006 19:27:16 +0000 (19:27 +0000)]
r13882: Fix coverity CID bug #96. Missing free on error
exit path.
Jeremy.

16 years agor13880: Fix coverity bug CID #97, mem leak on error path.
Jeremy Allison [Mon, 6 Mar 2006 19:23:54 +0000 (19:23 +0000)]
r13880: Fix coverity bug CID #97, mem leak on error path.
Jeremy.

16 years agor13878: move PORT_DATA_1 to use static sized UNICODE strings as per MSDN
Gerald Carter [Mon, 6 Mar 2006 18:40:00 +0000 (18:40 +0000)]
r13878: move PORT_DATA_1 to use static sized UNICODE strings as per MSDN

16 years agor13875: Fix coverity bug #148. Deref of rrec before NULL check.
Jeremy Allison [Mon, 6 Mar 2006 17:47:21 +0000 (17:47 +0000)]
r13875: Fix coverity bug #148. Deref of rrec before NULL check.
Jeremy.

16 years agor13873: I think this is the longstanding wins server crash bug, not
Jeremy Allison [Mon, 6 Mar 2006 17:01:51 +0000 (17:01 +0000)]
r13873: I think this is the longstanding wins server crash bug, not
part of the changes I made but something that's been there
a while.... Coverity bugid #41.
Jeremy.

16 years agor13864: Some cleanup and the samr set security object function client-side.
Günther Deschner [Mon, 6 Mar 2006 15:22:00 +0000 (15:22 +0000)]
r13864: Some cleanup and the samr set security object function client-side.

Guenther

16 years agor13861: Avoid "net rpc join" segfaulting when storing the servername in the
Günther Deschner [Mon, 6 Mar 2006 14:55:27 +0000 (14:55 +0000)]
r13861: Avoid "net rpc join" segfaulting when storing the servername in the
affinity cache.

Guenther