changeset 12894:5213e1b8c605

6968952 __ns_ldap_is_shadow_update_enabled() calls __ns_ldap_getParam() with NULL pointer in 3rd argument
author Julian Pullen <Julian.Pullen@Sun.COM>
date Wed, 21 Jul 2010 14:36:46 +0100
parents c53827a598ac
children 5c6de9ad51b9
files usr/src/lib/libsldap/common/ns_sldap.h usr/src/lib/libsldap/common/ns_writes.c
diffstat 2 files changed, 10 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/lib/libsldap/common/ns_sldap.h	Wed Jul 21 11:20:51 2010 +0200
+++ b/usr/src/lib/libsldap/common/ns_sldap.h	Wed Jul 21 14:36:46 2010 +0100
@@ -915,7 +915,7 @@
 	const char *user,
 	AcctUsableResponse_t *acctResp);
 
-boolean_t __ns_ldap_is_shadow_update_enabled();
+boolean_t __ns_ldap_is_shadow_update_enabled(void);
 
 void
 __ns_ldap_self_gssapi_only_set(
--- a/usr/src/lib/libsldap/common/ns_writes.c	Wed Jul 21 11:20:51 2010 +0200
+++ b/usr/src/lib/libsldap/common/ns_writes.c	Wed Jul 21 14:36:46 2010 +0100
@@ -18,9 +18,9 @@
  *
  * CDDL HEADER END
  */
+
 /*
- * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
- * Use is subject to license terms.
+ * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
  */
 
 #include <stdio.h>
@@ -1232,12 +1232,15 @@
 }
 
 boolean_t
-__ns_ldap_is_shadow_update_enabled() {
-
-	int **enable_shadow = NULL;
+__ns_ldap_is_shadow_update_enabled(void)
+{
+	int			**enable_shadow = NULL;
+	ns_ldap_error_t		*errorp = NULL;
 
 	if (__ns_ldap_getParam(NS_LDAP_ENABLE_SHADOW_UPDATE_P,
-	    (void ***)&enable_shadow, NULL) != NS_LDAP_SUCCESS) {
+	    (void ***)&enable_shadow, &errorp) != NS_LDAP_SUCCESS) {
+		if (errorp)
+			(void) __ns_ldap_freeError(&errorp);
 		return (B_FALSE);
 	}
 	if ((enable_shadow != NULL && *enable_shadow != NULL) &&