diff options
author | Martin Neupauer <xmaton@messengeruser.com> | 2021-04-21 09:38:49 -0400 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2021-04-29 21:49:53 +0000 |
commit | a1dd77a37ab054564904ce8d0f04dacca04a9d2a (patch) | |
tree | 04cfe21a3419c9bf0d3a101be27fe326db0a8342 /src/mongo/db/exec/sbe/stages/makeobj.h | |
parent | 7fe73c9955e44c7e99c5c3487454bb2ad64740e1 (diff) | |
download | mongo-a1dd77a37ab054564904ce8d0f04dacca04a9d2a.tar.gz |
SERVER-55498 Prevent SBE from using unowned values from storage after
yield
This change ensures that accesors produce valid values after yield.
Diffstat (limited to 'src/mongo/db/exec/sbe/stages/makeobj.h')
-rw-r--r-- | src/mongo/db/exec/sbe/stages/makeobj.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/mongo/db/exec/sbe/stages/makeobj.h b/src/mongo/db/exec/sbe/stages/makeobj.h index 10dd950bcf6..9901ad17744 100644 --- a/src/mongo/db/exec/sbe/stages/makeobj.h +++ b/src/mongo/db/exec/sbe/stages/makeobj.h @@ -91,6 +91,9 @@ public: const SpecificStats* getSpecificStats() const final; std::vector<DebugPrinter::Block> debugPrint() const final; +protected: + void doSaveState() final; + private: void projectField(value::Object* obj, size_t idx); void projectField(UniqueBSONObjBuilder* bob, size_t idx); |