Check for null password before using it.
This commit is contained in:
		| @@ -96,20 +96,23 @@ PAM_EXTERN int pam_sm_authenticate(pam_handle_t *pamh,int flags,int argc, | ||||
|          | ||||
|         memset(&basicCredential,0,sizeof(basicCredential)); | ||||
|  | ||||
|         basicCredential.unFlags = 0; | ||||
|         strcpy(basicCredential.username,user); | ||||
|         basicCredential.unLen = strlen(user) + 1; | ||||
|         strcpy(basicCredential.password,wkstnPasswd); | ||||
|         basicCredential.pwordLen = strlen(wkstnPasswd) + 1; | ||||
| 		if (user && wkstnPasswd) | ||||
| 		{ | ||||
| 			basicCredential.unFlags = 0; | ||||
| 			strcpy(basicCredential.username,user); | ||||
| 			basicCredential.unLen = strlen(user) + 1; | ||||
| 			strcpy(basicCredential.password,wkstnPasswd); | ||||
| 			basicCredential.pwordLen = strlen(wkstnPasswd) + 1; | ||||
|  | ||||
|         retVal = (*pNSSCSSetCredential) (0,&secretID,NULL, | ||||
|                                          SSCS_CRED_TYPE_BASIC_F, | ||||
|                                          &basicCredential,NULL); | ||||
|         if( retVal != 0) | ||||
|         {  | ||||
|             pam_sscs_log( LOG_ERR,"Setting the default credential failed.Errcode = %d\n",retVal); | ||||
|             break; | ||||
|         } | ||||
| 			retVal = (*pNSSCSSetCredential) (0,&secretID,NULL, | ||||
| 											SSCS_CRED_TYPE_BASIC_F, | ||||
| 											&basicCredential,NULL); | ||||
| 			if( retVal != 0) | ||||
| 			{  | ||||
| 				pam_sscs_log( LOG_ERR,"Setting the default credential failed.Errcode = %d\n",retVal); | ||||
| 				break; | ||||
| 			} | ||||
| 		} | ||||
|     }while(0);         | ||||
|  | ||||
|     seteuid(saved_uid); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user