easylogging++: avoid buffer underflow

This commit is contained in:
moneromooo-monero 2017-12-10 15:32:42 +00:00
parent 187a6ab2d2
commit c2ed8618e4
No known key found for this signature in database
GPG key ID: 686F07454D6CEFC3

View file

@ -1016,8 +1016,9 @@ const std::string OS::getBashOutput(const char* command) {
char hBuff[4096]; char hBuff[4096];
if (fgets(hBuff, sizeof(hBuff), proc) != nullptr) { if (fgets(hBuff, sizeof(hBuff), proc) != nullptr) {
pclose(proc); pclose(proc);
if (hBuff[strlen(hBuff) - 1] == '\n') { const size_t len = strlen(hBuff);
hBuff[strlen(hBuff) - 1] = '\0'; if (len > 0 && hBuff[len - 1] == '\n') {
hBuff[len- 1] = '\0';
} }
return std::string(hBuff); return std::string(hBuff);
} }