diff --git a/r5dev/tier0/utility.cpp b/r5dev/tier0/utility.cpp index 63aa39ac..82c60c3a 100644 --- a/r5dev/tier0/utility.cpp +++ b/r5dev/tier0/utility.cpp @@ -991,11 +991,11 @@ string PrintPercentageEscape(const string& svInput) // For formatting a STL string to a prettified representation of input bytes. string FormatBytes(size_t nBytes) { - char szBuf[128] = ""; + char szBuf[128]; const char* szPrefix[] = { "B", "KiB", "MiB", "GiB", "TiB", "PiB", "EiB", "ZiB", "YiB" }; const int iBase = 1024; - size_t c = (std::min)((size_t)(log((double)nBytes) / log((double)iBase)), (size_t)sizeof(szPrefix) - 1); - sprintf(szBuf, "%1.2lf %s", nBytes / pow((double)iBase, c), szPrefix[c]); + size_t c = nBytes ? (std::min)((size_t)(log((double)nBytes) / log((double)iBase)), (size_t)sizeof(szPrefix) - 1) : 0; + snprintf(szBuf, sizeof(szBuf), "%1.2lf %s", nBytes / pow((double)iBase, c), szPrefix[c]); return string(szBuf); }