Before the pointer variable args_dict was assigned the result of an
allocation with new and then args_dict is passed to
GetValueForKeyAsDictionary which immediatly and unconditionally
assigns args_dict to nullptr:
bool GetValueForKeyAsDictionary(llvm::StringRef key,
Dictionary *&result) const {
result = nullptr;This caused a memory leak which was found in my coverity scan instance
under CID 224753: https://scan.coverity.com/projects/kwk-llvm-project.