From c149929cd6bd5486dac96bf1555a7d95e1ea5ac8 Mon Sep 17 00:00:00 2001 From: "ddrinan%netscape.com" Date: Wed, 21 Jun 2000 20:52:33 +0000 Subject: [PATCH] Some bug fixes --- security/psm/lib/nlslayer/nlslayer.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/security/psm/lib/nlslayer/nlslayer.cpp b/security/psm/lib/nlslayer/nlslayer.cpp index c77d94e47b67..81883f226c03 100644 --- a/security/psm/lib/nlslayer/nlslayer.cpp +++ b/security/psm/lib/nlslayer/nlslayer.cpp @@ -253,7 +253,7 @@ extern "C" PRBool nlsUnicodeToUTF8(unsigned char * inBuf, unsigned int inBufByte goto loser; } - /* outBuf[dstLength] = '\0';*/ + outBuf[dstLength] = '\0'; *outBufLen = dstLength; ret = PR_TRUE; @@ -280,6 +280,8 @@ extern "C" PRBool nlsUTF8ToUnicode(unsigned char * inBuf, unsigned int inBufByte goto loser; } + *outBufLen = (unsigned int)dstLength*sizeof(PRUnichar); + ret = PR_TRUE; loser: @@ -305,7 +307,7 @@ extern "C" PRBool nlsUnicodeToASCII(unsigned char * inBuf, unsigned int inBufByt goto loser; } - /* outBuf[dstLength] = '\0';*/ + outBuf[dstLength] = '\0'; *outBufLen = dstLength; ret = PR_TRUE; @@ -331,7 +333,9 @@ extern "C" PRBool nlsASCIIToUnicode(unsigned char * inBuf, unsigned int inBufByt if (NS_FAILED(res)) { goto loser; } - *outBufLen = (unsigned int)dstLength*2; + *outBufLen = (unsigned int)dstLength*sizeof(PRUnichar) + 2; // Extra NULL characters + outBuf[*outBufLen] = NULL; + outBuf[*outBufLen - 1] = NULL; ret = PR_TRUE; loser: