Prevent possible buffer overflows [-Wstrncat-size]. Fixes 315198

merge-requests/1/head
Olaf Meeuwissen 2015-10-14 20:39:39 +09:00
rodzic 18e4c4a086
commit 06b865cfd2
1 zmienionych plików z 9 dodań i 4 usunięć

Wyświetl plik

@ -929,6 +929,7 @@ HexDump (int debugLevel, const unsigned char *buf, size_t bufSize)
{
unsigned int i, j;
size_t lineBufFree;
char itemBuf[16] = { 0 }, lineBuf[256] = { 0 };
@ -943,7 +944,8 @@ HexDump (int debugLevel, const unsigned char *buf, size_t bufSize)
sprintf (itemBuf, "%02x ", (const unsigned int) buf[i]);
strncat (lineBuf, itemBuf, sizeof (lineBuf));
lineBufFree = sizeof (lineBuf) - strlen (lineBuf) - 1;
strncat (lineBuf, itemBuf, lineBufFree);
if ((i + 1) % 16)
continue;
@ -960,7 +962,8 @@ HexDump (int debugLevel, const unsigned char *buf, size_t bufSize)
{
sprintf (itemBuf, ".");
}
strncat (lineBuf, itemBuf, sizeof (lineBuf));
lineBufFree = sizeof (lineBuf) - strlen (lineBuf) - 1;
strncat (lineBuf, itemBuf, lineBufFree);
} /* for j */
@ -974,7 +977,8 @@ HexDump (int debugLevel, const unsigned char *buf, size_t bufSize)
for (j = (i % 16); j < 16; ++j)
{
strncat (lineBuf, " ", sizeof (lineBuf));
lineBufFree = sizeof (lineBuf) - strlen (lineBuf) - 1;
strncat (lineBuf, " ", lineBufFree);
}
for (j = 1 + i - ((i + 1) % 16); j < i; ++j)
{
@ -986,7 +990,8 @@ HexDump (int debugLevel, const unsigned char *buf, size_t bufSize)
{
strcpy (itemBuf, ".");
}
strncat (lineBuf, itemBuf, sizeof (lineBuf));
lineBufFree = sizeof (lineBuf) - strlen (lineBuf) - 1;
strncat (lineBuf, itemBuf, lineBufFree);
}
DBG (debugLevel, "%s\n", lineBuf);
}