From d4fab0d20e9b45c94859c2085cbd761446d4bd79 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Sun, 12 Mar 2023 09:15:10 +0000 Subject: [PATCH] iocsh: dbCompleteRecord() missing NULL check --- .../src/ioc/dbStatic/dbCompleteRecord.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/modules/database/src/ioc/dbStatic/dbCompleteRecord.cpp b/modules/database/src/ioc/dbStatic/dbCompleteRecord.cpp index 73ad6164f..ee8a08e74 100644 --- a/modules/database/src/ioc/dbStatic/dbCompleteRecord.cpp +++ b/modules/database/src/ioc/dbStatic/dbCompleteRecord.cpp @@ -140,14 +140,16 @@ char** dbCompleteRecord(const char *cword) if(!prefix.empty() || !suggestions.empty()) { ret = (char**)malloc(sizeof(*ret)*(2u + suggestions.size())); - ret[0] = prefix.dup(); - size_t n=1u; - for(suggestions_t::iterator it(suggestions.begin()), end(suggestions.end()); - it!=end; ++it) - { - ret[n++] = it->dup(); + if(ret) { + ret[0] = prefix.dup(); + size_t n=1u; + for(suggestions_t::iterator it(suggestions.begin()), end(suggestions.end()); + it!=end; ++it) + { + ret[n++] = it->dup(); + } + ret[n] = NULL; } - ret[n] = NULL; } return ret;