Bug 407409. Account for filehandle equals to 0.

This commit is contained in:
Jim Norman 2008-10-15 20:56:03 +00:00
parent a3383a7043
commit d1642ea2cd
6 changed files with 105 additions and 56 deletions

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
Wed Oct 15 14:51:32 MDT 2008 - jnorman@novell.com
- Bug 407409. Account for a filehandles equal to 0.
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Aug 26 14:32:58 MDT 2008 - cgardner@novell.com Tue Aug 26 14:32:58 MDT 2008 - cgardner@novell.com

View File

@ -65,9 +65,11 @@ static SS_UTF8_T SSCS_RESERVED2_KEY_CHAIN_ID[] = "SSCS_RESERVED2_KEYCHAIN2_ID";
#define NSSCS_MAX_ID_LEN 256 #define NSSCS_MAX_ID_LEN 256
#define DebugLevel 0 #define DebugLevel 0
#ifdef DEBUG
#ifdef SSCS_WIN32_PLAT_F
static SS_UTF8_T g_pDebugLogFilePath[] = {"\\micasa_lib.log"}; static SS_UTF8_T g_pDebugLogFilePath[] = {"\\micasa_lib.log"};
#ifdef DEBUG
#define DbgTrace(LEVEL, X, Y) { \ #define DbgTrace(LEVEL, X, Y) { \
char formatBuff[256]; \ char formatBuff[256]; \
char printBuff[384]; \ char printBuff[384]; \
@ -77,7 +79,7 @@ FILE *pDebugFile; \
SYSTEMTIME sysTime; \ SYSTEMTIME sysTime; \
GetLocalTime(&sysTime); \ GetLocalTime(&sysTime); \
_snprintf(formatBuff, sizeof(formatBuff), "[%X-%X] [%02d:%02d:%02d] CASA_library ", GetCurrentProcessId(), GetCurrentThreadId(), sysTime.wHour, sysTime.wMinute, sysTime.wSecond); \ _snprintf(formatBuff, sizeof(formatBuff), "[%X-%X] [%02d:%02d:%02d] CASA_library ", GetCurrentProcessId(), GetCurrentThreadId(), sysTime.wHour, sysTime.wMinute, sysTime.wSecond); \
strncat(formatBuff, X, sizeof(formatBuff) - strlen(formatBuff) - 1); \ strncat(formatBuff, X, sizeof(formatBuff) -:q: strlen(formatBuff) - 1); \
_snprintf(printBuff, sizeof(printBuff), formatBuff, Y); \ _snprintf(printBuff, sizeof(printBuff), formatBuff, Y); \
if (g_pDebugLogFilePath) \ if (g_pDebugLogFilePath) \
{ \ { \
@ -93,15 +95,44 @@ FILE *pDebugFile; \
OutputDebugString(printBuff); \ OutputDebugString(printBuff); \
} \ } \
} }
#else
//#ifdef SSCS_LINUX_PLAT_F
#include <unistd.h>
#include <time.h>
static SS_UTF8_T g_pDebugLogFilePath[] = {"/micasa_lib.log"};
#define DbgTrace(LEVEL, X, Y) { \
char formatBuff[256]; \
char printBuff[384]; \
char timeBuff[64]; \
time_t t; \
struct tm *tmp; \
FILE *pDebugFile; \
if (LEVEL == 0 || DebugLevel >= LEVEL) \
{ \
time(&t); \
tmp = localtime(&t); \
strftime(timeBuff, sizeof(timeBuff), "%a %b %d %H:%M:%S", tmp); \
snprintf(formatBuff, sizeof(formatBuff), "[%u] [%s]: ", getpid(), timeBuff); \
strncat(formatBuff, X, sizeof(formatBuff) - strlen(formatBuff) - 1); \
snprintf(printBuff, sizeof(printBuff), formatBuff, Y); \
pDebugFile = fopen(g_pDebugLogFilePath, "a+"); \
if (pDebugFile) \
{ \
fwrite(printBuff, strlen(printBuff), 1, pDebugFile); \
fflush(pDebugFile); \
fclose(pDebugFile); \
} \
} \
}
#endif
#else #else
#define DbgTrace(LEVEL, X, Y) {} #define DbgTrace(LEVEL, X, Y) {}
#endif #endif
typedef struct _sscs_linux_ss_handle typedef struct _sscs_linux_ss_handle
{ {
int32_t socketID; int32_t socketID;
@ -115,7 +146,11 @@ typedef struct _sscs_win32_ss_handle
typedef struct _sscs_secretstore_handle typedef struct _sscs_secretstore_handle
{ {
int32_t platformID; int32_t platformID;
#ifdef SSCS_WIN32_PLAT_F
void *platHandle; void *platHandle;
#else
int platHandle;
#endif
} SSCS_SECRETSTORE_HANDLE_T; } SSCS_SECRETSTORE_HANDLE_T;

View File

@ -36,6 +36,7 @@ typedef uint8_t Byte;
#define MIN_REPLY_BUF_LEN 32*1024 #define MIN_REPLY_BUF_LEN 32*1024
#define MAX_BINARY_KEY_LEN 256*1024 #define MAX_BINARY_KEY_LEN 256*1024
#ifdef SSCS_LINUX_PLAT_F #ifdef SSCS_LINUX_PLAT_F
#include "sscs_unx_ipc_client.h" #include "sscs_unx_ipc_client.h"
#include "sscs_unx_cache_defines.h" #include "sscs_unx_cache_defines.h"
@ -44,9 +45,9 @@ typedef uint8_t Byte;
#include <unistd.h> #include <unistd.h>
#include <fcntl.h> #include <fcntl.h>
void* ipc_unx_create(void); int ipc_unx_create(void);
int ipc_unx_write(int fd, Byte *pData, int bytes); int ipc_unx_write(int fd, void *pData, int bytes);
int ipc_unx_read(int fd, Byte *pData, int bytes); int ipc_unx_read(int fd, void *pData, int bytes);
int ipc_unx_close(int fd); int ipc_unx_close(int fd);
#define IPC_CREATE(...) ipc_unx_create(__VA_ARGS__); #define IPC_CREATE(...) ipc_unx_create(__VA_ARGS__);
@ -54,6 +55,8 @@ int ipc_unx_close(int fd);
#define IPC_WRITE(...) ipc_unx_write(__VA_ARGS__); #define IPC_WRITE(...) ipc_unx_write(__VA_ARGS__);
#define IPC_CLOSE(...) ipc_unx_close(__VA_ARGS__); #define IPC_CLOSE(...) ipc_unx_close(__VA_ARGS__);
#define IPC_INVALID_HANDLE (-1)
#else #else
//#ifdef SSCS_WIN32_PLAT_F //#ifdef SSCS_WIN32_PLAT_F
@ -74,7 +77,9 @@ int ipc_win_close(HANDLE hPipe);
#define IPC_WRITE(s1,s2,s3) ipc_win_write(s1,s2,s3); #define IPC_WRITE(s1,s2,s3) ipc_win_write(s1,s2,s3);
#define IPC_CLOSE(s1) ipc_win_close(s1); #define IPC_CLOSE(s1) ipc_win_close(s1);
//#endif #define IPC_INVALID_HANDLE ((void *)-1)
#endif
// function prototypes // function prototypes
int ipc_OpenSecretStore int ipc_OpenSecretStore
@ -272,7 +277,5 @@ int ipc_MergeCache
int32_t bDestorySrc int32_t bDestorySrc
); );
#endif
#endif #endif

View File

@ -21,6 +21,8 @@
***********************************************************************/ ***********************************************************************/
#include "sscs_ipc.h" #include "sscs_ipc.h"
// DEBUG
#include "sscs_cache.h"
#ifdef SSCS_WIN32_PLAT_F #ifdef SSCS_WIN32_PLAT_F
#include "windows.h" #include "windows.h"
@ -37,27 +39,30 @@ int firstReadAfterWrite = 0;
*/ */
#ifdef SSCS_LINUX_PLAT_F #ifdef SSCS_LINUX_PLAT_F
void* ipc_unx_create() int ipc_unx_create()
{ {
int retVal = 0; int retVal = 0;
struct sockaddr_un servAddr; struct sockaddr_un servAddr;
char path[MAX_SOCKET_PATH_LEN]; char path[MAX_SOCKET_PATH_LEN];
int sockFd = 0; int sockFd = 0;
do do
{ {
sockFd = socket(AF_UNIX,SOCK_STREAM,0); sockFd = socket(AF_UNIX,SOCK_STREAM,0);
if( sockFd < 0 ) if( sockFd < 0 )
{ {
DbgTrace(1, "Failed to open socket, sockFd = %x\n", sockFd);
retVal = sockFd; retVal = sockFd;
break; break;
} }
DbgTrace(1, "-ipc_unx_create- sockFd = %x\n", sockFd);
retVal = fcntl(sockFd, F_SETFL, O_NONBLOCK); retVal = fcntl(sockFd, F_SETFL, O_NONBLOCK);
if ( retVal < 0 ) if ( retVal < 0 )
{ {
DMSG(("Failed to make the socket non-blocking : %s\n",strerror(errno))); DbgTrace(1, "Failed to make the socket non-blocking : %s\n",strerror(errno));
DMSG(("Closing socket : %d\n",sockFd)); DbgTrace(1, "Closing socket : %d\n",sockFd);
close(sockFd); close(sockFd);
break; break;
} }
@ -69,15 +74,16 @@ void* ipc_unx_create()
retVal = connect(sockFd,(struct sockaddr*)&servAddr, sizeof(servAddr)); retVal = connect(sockFd,(struct sockaddr*)&servAddr, sizeof(servAddr));
if(retVal < 0 ) if(retVal < 0 )
{ {
DMSG(("Connect fails : %s\n",strerror(errno))); DbgTrace(1, "Connect fails : %s\n",strerror(errno));
DMSG(("Closing socket : %d\n",sockFd)); DbgTrace(1, "Closing socket : %d\n",sockFd);
close(sockFd); close(sockFd);
break; break;
} }
else else
retVal = sockFd; retVal = sockFd;
}while(0); }while(0);
return (void*)retVal;
return retVal;
} }
#else #else
@ -117,7 +123,7 @@ void * ipc_win_create()
#endif #endif
#ifdef SSCS_LINUX_PLAT_F #ifdef SSCS_LINUX_PLAT_F
int ipc_unx_write(int fd, Byte *pData, int bytes) int ipc_unx_write(int fd, void *pData, int bytes)
{ {
int retVal = 0; int retVal = 0;
int retries = RETRIES; int retries = RETRIES;
@ -237,7 +243,7 @@ int ipc_win_write(HANDLE hPipe, LPCVOID lpBuffer, DWORD bytesToWrite)
#ifdef SSCS_LINUX_PLAT_F #ifdef SSCS_LINUX_PLAT_F
int ipc_unx_read(int fd, Byte *pData, int bytes) int ipc_unx_read(int fd, void *pData, int bytes)
{ {
int retVal = 0; int retVal = 0;
int retries = RETRIES; int retries = RETRIES;

View File

@ -29,8 +29,8 @@ extern "C"
#ifdef SSCS_WIN32_PLAT_F #ifdef SSCS_WIN32_PLAT_F
#include <windows.h> #include <windows.h>
#include <sscs_ipc.h>
#endif #endif
#include <sscs_ipc.h>
#include "sscs_cache.h" #include "sscs_cache.h"
@ -61,7 +61,6 @@ void* sscs_CacheOpenSecretStore
} }
memset(ssHandle,0,sizeof(SSCS_SECRETSTORE_HANDLE_T)); memset(ssHandle,0,sizeof(SSCS_SECRETSTORE_HANDLE_T));
ssHandle->platHandle = ssHandle + sizeof(SSCS_SECRETSTORE_HANDLE_T);
retVal = ipc_OpenSecretStore(secretStoreID,ssHandle); retVal = ipc_OpenSecretStore(secretStoreID,ssHandle);
if(retVal) if(retVal)
@ -96,7 +95,7 @@ int32_t sscs_CacheCloseSecretStore
int32_t retVal = 0; int32_t retVal = 0;
SSCS_SECRETSTORE_HANDLE_T *ssHandleCopy = (SSCS_SECRETSTORE_HANDLE_T *)ssHandle; SSCS_SECRETSTORE_HANDLE_T *ssHandleCopy = (SSCS_SECRETSTORE_HANDLE_T *)ssHandle;
if(ssHandleCopy->platHandle) if(ssHandleCopy->platHandle >= 0)
{ {
retVal = ipc_CloseSecretStore(ssHandleCopy, ssFlags); retVal = ipc_CloseSecretStore(ssHandleCopy, ssFlags);
} }
@ -438,8 +437,12 @@ int32_t sscs_CacheGetSecretStoreInfo
int32_t retVal = 0; int32_t retVal = 0;
SSCS_SECRETSTORE_HANDLE_T *ssHandleCopy = (SSCS_SECRETSTORE_HANDLE_T *)ssHandle; SSCS_SECRETSTORE_HANDLE_T *ssHandleCopy = (SSCS_SECRETSTORE_HANDLE_T *)ssHandle;
DbgTrace(1, "-sscs_CacheGetSecretStoreInfo- start:\n", 0);
retVal = ipc_GetSecretStoreInfo(ssHandleCopy,ssInfo); retVal = ipc_GetSecretStoreInfo(ssHandleCopy,ssInfo);
DbgTrace(1, "-sscs_CacheGetSecretStoreInfo- end: %d \n", retVal);
return retVal; return retVal;
} }

View File

@ -249,7 +249,7 @@ int32_t ipc_OpenSecretStore
do do
{ {
if( (NULL == ssHandle) || (NULL == ssHandle->platHandle) || if( (NULL == ssHandle) ||
(NULL == secretStoreID) ) (NULL == secretStoreID) )
{ {
retCode = NSSCS_E_INVALID_PARAM; retCode = NSSCS_E_INVALID_PARAM;
@ -257,7 +257,8 @@ int32_t ipc_OpenSecretStore
} }
ssHandle->platHandle = IPC_CREATE(); ssHandle->platHandle = IPC_CREATE();
if(ssHandle->platHandle < 0) DbgTrace(1, "-ipc_OpenSecretStore- ssHandle->platHandle = %x\n", ssHandle->platHandle);
if(ssHandle->platHandle == IPC_INVALID_HANDLE)
{ {
retCode = NSSCS_E_SYSTEM_FAILURE; retCode = NSSCS_E_SYSTEM_FAILURE;
break; break;
@ -404,7 +405,7 @@ DbgTrace(1, "-ipc_CloseSecretStore- start \n", 0);
do do
{ {
if((NULL == ssHandle) || (NULL == ssHandle->platHandle)) if((NULL == ssHandle) || (ssHandle->platHandle == IPC_INVALID_HANDLE))
{ {
retCode = NSSCS_E_INVALID_PARAM; retCode = NSSCS_E_INVALID_PARAM;
break; break;
@ -519,7 +520,7 @@ int32_t ipc_RemoveSecretStore
do do
{ {
if((NULL == ssHandle) || (NULL == ssHandle->platHandle)) if((NULL == ssHandle) || (ssHandle->platHandle == IPC_INVALID_HANDLE))
{ {
retCode = NSSCS_E_INVALID_PARAM; retCode = NSSCS_E_INVALID_PARAM;
break; break;
@ -604,7 +605,6 @@ int32_t ipc_EnumerateKeychainIDs
SS_UTF8_T nulc = '\0'; SS_UTF8_T nulc = '\0';
SS_UTF8_T delimiter = '*'; SS_UTF8_T delimiter = '*';
int i = 0,j = 0;
uint16_t msgid = 0; uint16_t msgid = 0;
uint32_t msgLen = 0; uint32_t msgLen = 0;
@ -613,7 +613,6 @@ int32_t ipc_EnumerateKeychainIDs
SS_UTF8_T *tmpBuf = NULL; SS_UTF8_T *tmpBuf = NULL;
SS_UTF8_T *tmpPtr = NULL; SS_UTF8_T *tmpPtr = NULL;
SS_UTF8_T *tok = NULL;
Byte *gpReqBuf = NULL; Byte *gpReqBuf = NULL;
Byte *gpReplyBuf = NULL; Byte *gpReplyBuf = NULL;
@ -635,7 +634,7 @@ int32_t ipc_EnumerateKeychainIDs
do do
{ {
if( (NULL == ssHandle) || (NULL == ssHandle->platHandle) || if( (NULL == ssHandle) || (ssHandle->platHandle == IPC_INVALID_HANDLE) ||
(NULL == kcIDList) ) (NULL == kcIDList) )
{ {
retCode = NSSCS_E_INVALID_PARAM; retCode = NSSCS_E_INVALID_PARAM;
@ -761,7 +760,7 @@ int32_t ipc_EnumerateKeychainIDs
#endif #endif
// Count number of ids // Count number of ids
numIds = 1; // Atleast there is one !! numIds = 1; // Atleast there is one !!
while( tmpPtr = sscs_Utf8Strchr(tmpPtr, delimiter) ) while( (tmpPtr = sscs_Utf8Strchr(tmpPtr, delimiter)) != NULL )
{ {
numIds++; numIds++;
tmpPtr++; tmpPtr++;
@ -872,7 +871,7 @@ int32_t ipc_AddKeychain
do do
{ {
if( (NULL == ssHandle) || (NULL == ssHandle->platHandle) || if( (NULL == ssHandle) || (ssHandle->platHandle == IPC_INVALID_HANDLE) ||
(NULL == keychainID) ) (NULL == keychainID) )
{ {
retCode = NSSCS_E_INVALID_PARAM; retCode = NSSCS_E_INVALID_PARAM;
@ -998,7 +997,7 @@ int32_t ipc_RemoveKeychain
do do
{ {
if( (NULL == ssHandle) || (NULL == ssHandle->platHandle) || if( (NULL == ssHandle) || (ssHandle->platHandle == IPC_INVALID_HANDLE) ||
(NULL == keychainID) ) (NULL == keychainID) )
{ {
retCode = NSSCS_E_INVALID_PARAM; retCode = NSSCS_E_INVALID_PARAM;
@ -1105,11 +1104,9 @@ int32_t ipc_EnumerateSecretIDs
uint32_t bufLen = 0; uint32_t bufLen = 0;
uint32_t numIds = 0; uint32_t numIds = 0;
int i = 0;
SS_UTF8_T *tmpBuf = NULL; SS_UTF8_T *tmpBuf = NULL;
SS_UTF8_T *tmpPtr = NULL; SS_UTF8_T *tmpPtr = NULL;
SS_UTF8_T *tok = NULL;
Byte *gpReqBuf = NULL; Byte *gpReqBuf = NULL;
Byte *gpReplyBuf = NULL; Byte *gpReplyBuf = NULL;
@ -1131,7 +1128,7 @@ int32_t ipc_EnumerateSecretIDs
do do
{ {
if( (NULL == ssHandle) || (NULL == ssHandle->platHandle) || if( (NULL == ssHandle) || (ssHandle->platHandle == IPC_INVALID_HANDLE) ||
(NULL == keychainID) || (NULL == secretIDList) ) (NULL == keychainID) || (NULL == secretIDList) )
{ {
retCode = NSSCS_E_INVALID_PARAM; retCode = NSSCS_E_INVALID_PARAM;
@ -1272,7 +1269,7 @@ int32_t ipc_EnumerateSecretIDs
// Count number of ids // Count number of ids
numIds = 1; // Atleast there is one !! numIds = 1; // Atleast there is one !!
while(tmpPtr = sscs_Utf8Strchr(tmpPtr, delimiter)) while((tmpPtr = sscs_Utf8Strchr(tmpPtr, delimiter)) != NULL)
{ {
numIds++; numIds++;
tmpPtr++; tmpPtr++;
@ -1398,7 +1395,7 @@ int32_t ipc_ReadSecret
do do
{ {
if((NULL == ssHandle) || (NULL == ssHandle->platHandle) || (NULL == keychainID) || (NULL == secretID) || (NULL == secretData) || (NULL == bytesRequired)) if((NULL == ssHandle) || (ssHandle->platHandle == IPC_INVALID_HANDLE) || (NULL == keychainID) || (NULL == secretID) || (NULL == secretData) || (NULL == bytesRequired))
{ {
retCode = NSSCS_E_INVALID_PARAM; retCode = NSSCS_E_INVALID_PARAM;
break; break;
@ -1670,7 +1667,7 @@ int ipc_WriteSecret
do do
{ {
if((NULL == ssHandle) || (NULL == ssHandle->platHandle) || (NULL == keychainID) || (NULL == secretID) ||(NULL == secretData)) if((NULL == ssHandle) || (ssHandle->platHandle == IPC_INVALID_HANDLE) || (NULL == keychainID) || (NULL == secretID) ||(NULL == secretData))
{ {
retCode = NSSCS_E_INVALID_PARAM; retCode = NSSCS_E_INVALID_PARAM;
break; break;
@ -1907,7 +1904,7 @@ int32_t ipc_RemoveSecret
do do
{ {
if( (NULL == ssHandle) || (NULL == ssHandle->platHandle) || if( (NULL == ssHandle) || (ssHandle->platHandle == IPC_INVALID_HANDLE) ||
(NULL == keychainID) || (NULL == secretID) ) (NULL == keychainID) || (NULL == secretID) )
{ {
retCode = NSSCS_E_INVALID_PARAM; retCode = NSSCS_E_INVALID_PARAM;
@ -2105,14 +2102,17 @@ int32_t ipc_GetSecretStoreInfo
do do
{ {
if((NULL == ssHandle) || (NULL == ssHandle->platHandle)) if((NULL == ssHandle) || (ssHandle->platHandle == IPC_INVALID_HANDLE))
{ {
DbgTrace(1, "-ipc_GetSecretStoreInfo- ssHandle = %x\n", ssHandle);
DbgTrace(1, "-ipc_GetSecretStoreInfo- ssHandle->platHandle = %x\n", ssHandle->platHandle);
retCode = NSSCS_E_INVALID_PARAM; retCode = NSSCS_E_INVALID_PARAM;
break; break;
} }
if( NULL == ssInfo ) if( NULL == ssInfo )
{ {
DbgTrace(1, "-ipc_GetSecretStoreInfo- ssInfo = %x\n", ssInfo);
retCode = NSSCS_E_INVALID_PARAM; retCode = NSSCS_E_INVALID_PARAM;
break; break;
} }
@ -2232,7 +2232,7 @@ int32_t ipc_GetKeychainInfo
do do
{ {
if((NULL == ssHandle) || (NULL == ssHandle->platHandle)) if((NULL == ssHandle) || (ssHandle->platHandle == IPC_INVALID_HANDLE))
{ {
retCode = NSSCS_E_INVALID_PARAM; retCode = NSSCS_E_INVALID_PARAM;
break; break;
@ -2362,7 +2362,7 @@ int32_t ipc_LockCache
do do
{ {
if((NULL == ssHandle) || (NULL == ssHandle->platHandle)) if((NULL == ssHandle) || (ssHandle->platHandle == IPC_INVALID_HANDLE))
{ {
retCode = NSSCS_E_INVALID_PARAM; retCode = NSSCS_E_INVALID_PARAM;
break; break;
@ -2473,7 +2473,7 @@ int32_t ipc_UnlockCache
do do
{ {
if((NULL == ssHandle) || (NULL == ssHandle->platHandle)) if((NULL == ssHandle) || (ssHandle->platHandle == IPC_INVALID_HANDLE))
{ {
retCode = NSSCS_E_INVALID_PARAM; retCode = NSSCS_E_INVALID_PARAM;
break; break;
@ -2589,7 +2589,7 @@ int32_t ipc_SetMasterPasscode
do do
{ {
if( (NULL == ssHandle) || (NULL == ssHandle->platHandle) || if( (NULL == ssHandle) || (ssHandle->platHandle == IPC_INVALID_HANDLE) ||
(NULL == passcode) ) (NULL == passcode) )
{ {
retCode = NSSCS_E_INVALID_PARAM; retCode = NSSCS_E_INVALID_PARAM;
@ -2694,7 +2694,6 @@ int32_t ipc_RemoveKey
int32_t retCode = NSSCS_SUCCESS; //to be returned to caller int32_t retCode = NSSCS_SUCCESS; //to be returned to caller
int32_t sockReturn = 0; //obtained from the server int32_t sockReturn = 0; //obtained from the server
uint32_t dataLen = 0;
uint16_t msgid = 0; uint16_t msgid = 0;
uint32_t keychainIDLen = 0; uint32_t keychainIDLen = 0;
uint32_t secretIDLen = 0; uint32_t secretIDLen = 0;
@ -2728,7 +2727,7 @@ int32_t ipc_RemoveKey
do do
{ {
if((NULL == ssHandle) if((NULL == ssHandle)
|| (NULL == ssHandle->platHandle) || (ssHandle->platHandle == IPC_INVALID_HANDLE)
|| (NULL == keychainID) || (NULL == keychainID)
|| (NULL == secretID) || (NULL == secretID)
|| (NULL == key) || (NULL == key)
@ -2952,7 +2951,7 @@ int32_t ipc_ReadKey
do do
{ {
if((NULL == ssHandle) || (NULL == ssHandle->platHandle) || (NULL == keychainID) || (NULL == secretID) || (NULL == bytesRequired)) if((NULL == ssHandle) || (ssHandle->platHandle == IPC_INVALID_HANDLE) || (NULL == keychainID) || (NULL == secretID) || (NULL == bytesRequired))
{ {
retCode = NSSCS_E_INVALID_PARAM; retCode = NSSCS_E_INVALID_PARAM;
break; break;
@ -3233,7 +3232,7 @@ int32_t ipc_ReadBinaryKey
do do
{ {
if((NULL == ssHandle) || (NULL == ssHandle->platHandle) || (NULL == keychainID) || (NULL == secretID) || (NULL == bytesRequired)) if((NULL == ssHandle) || (ssHandle->platHandle == IPC_INVALID_HANDLE) || (NULL == keychainID) || (NULL == secretID) || (NULL == bytesRequired))
{ {
retCode = NSSCS_E_INVALID_PARAM; retCode = NSSCS_E_INVALID_PARAM;
break; break;
@ -3510,7 +3509,7 @@ int ipc_WriteKey
do do
{ {
if((NULL == ssHandle) || (NULL == ssHandle->platHandle) || (NULL == keychainID) || (NULL == secretID) ||(NULL == key)) if((NULL == ssHandle) || (ssHandle->platHandle == IPC_INVALID_HANDLE) || (NULL == keychainID) || (NULL == secretID) ||(NULL == key))
{ {
retCode = NSSCS_E_INVALID_PARAM; retCode = NSSCS_E_INVALID_PARAM;
break; break;
@ -3734,8 +3733,6 @@ int ipc_WriteBinaryKey
int32_t retCode = NSSCS_SUCCESS; //to be returned to caller int32_t retCode = NSSCS_SUCCESS; //to be returned to caller
int32_t sockReturn = 0; //obtained from the server int32_t sockReturn = 0; //obtained from the server
Byte *tmpBuf = NULL;
uint16_t msgid = 0; uint16_t msgid = 0;
uint32_t keychainIDLen = 0; uint32_t keychainIDLen = 0;
uint32_t secretIDLen = 0; uint32_t secretIDLen = 0;
@ -3766,7 +3763,7 @@ int ipc_WriteBinaryKey
do do
{ {
if((NULL == ssHandle) || (NULL == ssHandle->platHandle) || (NULL == keychainID) || (NULL == secretID) ||(NULL == key)) if((NULL == ssHandle) || (ssHandle->platHandle == IPC_INVALID_HANDLE) || (NULL == keychainID) || (NULL == secretID) ||(NULL == key))
{ {
retCode = NSSCS_E_INVALID_PARAM; retCode = NSSCS_E_INVALID_PARAM;
break; break;
@ -3987,7 +3984,7 @@ int32_t ipc_SetMasterPassword
do do
{ {
if( (NULL == ssHandle) || (NULL == ssHandle->platHandle) || if( (NULL == ssHandle) || (ssHandle->platHandle == IPC_INVALID_HANDLE) ||
(NULL == passwd) ) (NULL == passwd) )
{ {
retCode = NSSCS_E_INVALID_PARAM; retCode = NSSCS_E_INVALID_PARAM;
@ -4118,7 +4115,7 @@ int ipc_IsSecretPersistent
do do
{ {
if((NULL == ssHandle) || (NULL == ssHandle->platHandle)) if((NULL == ssHandle) || (ssHandle->platHandle == IPC_INVALID_HANDLE))
{ {
retCode = NSSCS_E_INVALID_PARAM; retCode = NSSCS_E_INVALID_PARAM;
break; break;