diff --git a/src/ccutil/genericvector.h b/src/ccutil/genericvector.h index 73e5f60991..22bd3cc288 100644 --- a/src/ccutil/genericvector.h +++ b/src/ccutil/genericvector.h @@ -375,6 +375,8 @@ inline bool LoadDataFromFile(const char* filename, GenericVector* 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(fread(&(*data)[0], 1, size, fp)) == size; }