From 4a5691503daaeda636a9fc6c7929da3df509b8ba Mon Sep 17 00:00:00 2001 From: zolliker Date: Thu, 15 Apr 2010 11:24:27 +0000 Subject: [PATCH] - fixed some potential bugs with strlcpy --- sinqhttp.c | 4 ++-- sps.c | 2 +- velodorn.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sinqhttp.c b/sinqhttp.c index df2ba4c..9d2cbf4 100644 --- a/sinqhttp.c +++ b/sinqhttp.c @@ -108,12 +108,12 @@ static int sinqHttpCheckResponse(pSinqHttp self) } if (strstr(pPtr, "ERROR") != NULL) { memset(self->hmError, 0, 512 * sizeof(char)); - strlcpy(self->hmError, pPtr, len); + strlcpy(self->hmError, pPtr, sizeof(self->hmError)); self->errorCode = HTTPERROR; return 0; } else if (strstr(pPtr, "Authentication Error") != NULL) { memset(self->hmError, 0, 512 * sizeof(char)); - strlcpy(self->hmError, pPtr, len); + strlcpy(self->hmError, pPtr, sizeof(self->hmError)); self->errorCode = BADAUTH; return 0; } diff --git a/sps.c b/sps.c index d03bcd3..994bf22 100644 --- a/sps.c +++ b/sps.c @@ -450,7 +450,7 @@ int SPSGetADC(pSPS self, int iWhich, int *iValue) pPtr++; for (i = 0; i < 8; i++) { pPtr++; /* skip whitespace */ - strlcpy(pNum, pPtr, 5); + strncpy(pNum, pPtr, 5); /* strlcpy probably wrong here */ pNum[5] = '\0'; pPtr += 5; iADC[i] = atoi(pNum); diff --git a/velodorn.c b/velodorn.c index 7c6e6b0..d5914df 100644 --- a/velodorn.c +++ b/velodorn.c @@ -334,7 +334,7 @@ int DornierSend(void **pData, char *pCommand, char *pReply, int iRepLen) if (*pPtr == '\0') { /* no command */ return NOCOMMAND; } - strlcpy(pOldCom, pPtr, 3); + strncpy(pOldCom, pPtr, 3); /* strlcpy probably wrong here */ iRet = SerialWriteRead(pData, pCommand, pReply, iRepLen); /*