Changes to address issues brought up by the security review.

This commit is contained in:
Juan Carlos Luciani
2007-02-06 22:52:44 +00:00
parent 51ffdf0702
commit 44ee58ef5f
28 changed files with 386 additions and 344 deletions

View File

@@ -60,7 +60,7 @@ string ReqErrorPktHdrTemplate = "Type02\r\nReqIdHdr =XXXXXXXX\r\nPayloadLength
int
ChannelProto::buildReqDataPktHdr(
uint32_t reqId,
int32_t payloadLength,
uint32_t payloadLength,
char *pPktHdr)
//
// Arguments:
@@ -133,7 +133,7 @@ ChannelProto::buildReqDataPktHdr(
int
ChannelProto::buildReqErrorPktHdr(
uint32_t reqId,
int32_t payloadLength,
uint32_t payloadLength,
char *pPktHdr)
//
// Arguments:
@@ -281,7 +281,7 @@ ChannelProto::getReqIdAndPayloadLength(
char *pBuff,
int hdrLength,
uint32_t *pReqId,
int32_t *pPayloadLength)
uint32_t *pPayloadLength)
//
// Arguments:
//
@@ -385,16 +385,16 @@ ChannelProto::getReqIdAndPayloadLength(
// Convert the value to hex
errno = 0;
long int value = strtol(pValue, NULL, 16);
unsigned long int value = strtoul(pValue, NULL, 16);
if (errno != 0
|| value > INT32_MAX)
|| value > UINT32_MAX)
{
DbgTrace(0, "ChannelProto::getReqIdAndPayloadLength- Invalid payloadLength value, %s\n", pValue);
break;
}
// Use the value
*pPayloadLength = (int32_t) value;
*pPayloadLength = (uint32_t) value;
// Undo the damage that we did
*(pCurr-2) = '\r';

View File

@@ -80,7 +80,7 @@ public:
// Returns: 0 if successful.
//
static int buildReqDataPktHdr(uint32_t reqId,
int32_t payloadLength,
uint32_t payloadLength,
char *pPktHdr);
//
@@ -104,7 +104,7 @@ public:
// Returns: 0 if successful.
//
static int buildReqErrorPktHdr(uint32_t reqId,
int32_t payloadLength,
uint32_t payloadLength,
char *pPktHdr);
//
@@ -148,7 +148,7 @@ public:
static bool getReqIdAndPayloadLength(char *pBuff,
int hdrLength,
uint32_t *pReqId,
int32_t *pPayloadLength);
uint32_t *pPayloadLength);
};