svn commit: samba r14345 - in branches/SAMBA_3_0/source/lib: .

jra at samba.org jra at samba.org
Mon Mar 13 21:11:16 GMT 2006


Author: jra
Date: 2006-03-13 21:11:15 +0000 (Mon, 13 Mar 2006)
New Revision: 14345

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=14345

Log:
Fix Coverity #71. We don't currently propagate *any*
alloc error back up the stack from smbldap_set_mod()
so ensure we abort correctly.
Jeremy.

Modified:
   branches/SAMBA_3_0/source/lib/smbldap.c


Changeset:
Modified: branches/SAMBA_3_0/source/lib/smbldap.c
===================================================================
--- branches/SAMBA_3_0/source/lib/smbldap.c	2006-03-13 21:05:55 UTC (rev 14344)
+++ branches/SAMBA_3_0/source/lib/smbldap.c	2006-03-13 21:11:15 UTC (rev 14345)
@@ -408,8 +408,9 @@
 	if (mods == NULL) {
 		mods = SMB_MALLOC_P(LDAPMod *);
 		if (mods == NULL) {
-			DEBUG(0, ("make_a_mod: out of memory!\n"));
-			return;
+			smb_panic("smbldap_set_mod: out of memory!\n");
+			/* notreached. */
+			abort();
 		}
 		mods[0] = NULL;
 	}
@@ -422,13 +423,15 @@
 	if (mods[i] == NULL) {
 		mods = SMB_REALLOC_ARRAY (mods, LDAPMod *, i + 2);
 		if (mods == NULL) {
-			DEBUG(0, ("make_a_mod: out of memory!\n"));
-			return;
+			smb_panic("smbldap_set_mod: out of memory!\n");
+			/* notreached. */
+			abort();
 		}
 		mods[i] = SMB_MALLOC_P(LDAPMod);
 		if (mods[i] == NULL) {
-			DEBUG(0, ("make_a_mod: out of memory!\n"));
-			return;
+			smb_panic("smbldap_set_mod: out of memory!\n");
+			/* notreached. */
+			abort();
 		}
 		mods[i]->mod_op = modop;
 		mods[i]->mod_values = NULL;
@@ -446,13 +449,15 @@
 		mods[i]->mod_values = SMB_REALLOC_ARRAY(mods[i]->mod_values, char *, j + 2);
 					       
 		if (mods[i]->mod_values == NULL) {
-			DEBUG (0, ("make_a_mod: Memory allocation failure!\n"));
-			return;
+			smb_panic("smbldap_set_mod: out of memory!\n");
+			/* notreached. */
+			abort();
 		}
 
 		if (push_utf8_allocate(&utf8_value, value) == (size_t)-1) {
-			DEBUG (0, ("make_a_mod: String conversion failure!\n"));
-			return;
+			smb_panic("smbldap_set_mod: String conversion failure!\n");
+			/* notreached. */
+			abort();
 		}
 
 		mods[i]->mod_values[j] = utf8_value;



More information about the samba-cvs mailing list