svn commit: samba r14774 - in branches/SAMBA_3_0/source/rpc_parse: .

jra at samba.org jra at samba.org
Wed Mar 29 23:03:36 GMT 2006


Author: jra
Date: 2006-03-29 23:03:34 +0000 (Wed, 29 Mar 2006)
New Revision: 14774

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

Log:
Fix null deref coverity bugs #260, #261, #262.
Jeremy.

Modified:
   branches/SAMBA_3_0/source/rpc_parse/parse_lsa.c


Changeset:
Modified: branches/SAMBA_3_0/source/rpc_parse/parse_lsa.c
===================================================================
--- branches/SAMBA_3_0/source/rpc_parse/parse_lsa.c	2006-03-29 22:59:41 UTC (rev 14773)
+++ branches/SAMBA_3_0/source/rpc_parse/parse_lsa.c	2006-03-29 23:03:34 UTC (rev 14774)
@@ -3001,6 +3001,9 @@
 
 	if ( num_priv ) {
 		out->rights = TALLOC_P( get_talloc_ctx(), UNISTR4_ARRAY );
+		if (!out->rights) {
+			return NT_STATUS_NO_MEMORY;
+		}
 
 		if ( !init_unistr4_array( out->rights, num_priv, privname_array ) ) 
 			return NT_STATUS_NO_MEMORY;
@@ -3069,6 +3072,10 @@
 	init_dom_sid2(&in->sid, sid);
 	
 	in->rights = TALLOC_P( get_talloc_ctx(), UNISTR4_ARRAY );
+	if (!in->rights) {
+		smb_panic("init_q_add_acct_rights: talloc fail\n");
+		return;
+	}
 	init_unistr4_array( in->rights, count, rights );
 	
 	in->count = count;
@@ -3112,10 +3119,10 @@
 	return True;
 }
 
-
 /*******************************************************************
  Inits an LSA_Q_REMOVE_ACCT_RIGHTS structure.
 ********************************************************************/
+
 void init_q_remove_acct_rights(LSA_Q_REMOVE_ACCT_RIGHTS *in, 
 			       POLICY_HND *hnd, 
 			       DOM_SID *sid,
@@ -3133,13 +3140,17 @@
 	in->count = count;
 
 	in->rights = TALLOC_P( get_talloc_ctx(), UNISTR4_ARRAY );
+	if (!in->rights) {
+		smb_panic("init_q_remove_acct_rights: talloc fail\n");
+		return;
+	}
 	init_unistr4_array( in->rights, count, rights );
 }
 
-
 /*******************************************************************
 reads or writes a LSA_Q_REMOVE_ACCT_RIGHTS structure.
 ********************************************************************/
+
 BOOL lsa_io_q_remove_acct_rights(const char *desc, LSA_Q_REMOVE_ACCT_RIGHTS *in, prs_struct *ps, int depth)
 {
 	prs_debug(ps, depth, desc, "lsa_io_q_remove_acct_rights");



More information about the samba-cvs mailing list