From c9127715c08f1cd525a732f3c25153f2f0ed8197 Mon Sep 17 00:00:00 2001 From: Tim Wojtulewicz Date: Thu, 7 Jul 2022 10:48:10 -0700 Subject: [PATCH] Avoid calling safe_realloc unnecessarily from ODesc::Grow() --- src/Desc.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Desc.cc b/src/Desc.cc index e6e41f5f6f..ba5849c226 100644 --- a/src/Desc.cc +++ b/src/Desc.cc @@ -373,10 +373,15 @@ void ODesc::AddBytesRaw(const void* bytes, unsigned int n) void ODesc::Grow(unsigned int n) { + bool size_changed = false; while ( offset + n + SLOP >= size ) + { size *= 2; + size_changed = true; + } - base = util::safe_realloc(base, size); + if ( size_changed ) + base = util::safe_realloc(base, size); } void ODesc::Clear()