Merge pull request #1637 from paulk124/master

Reserve extra byte in LoadDataFromFile() in case caller wants to appe…
This commit is contained in:
zdenop 2018-06-05 16:57:40 +02:00 committed by GitHub
commit ee2ab73224
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -375,6 +375,8 @@ inline bool LoadDataFromFile(const char* filename, GenericVector<char>* data) {
fseek(fp, 0, SEEK_SET);
// Trying to open a directory on Linux sets size to LONG_MAX. Catch it here.
if (size > 0 && size < LONG_MAX) {
// reserve an extra byte in case caller wants to append a '\0' character
data->reserve(size + 1);
data->resize_no_init(size);
result = static_cast<long>(fread(&(*data)[0], 1, size, fp)) == size;
}