From 8377ba6525de5ebfe33a7dda14f17d96e8ac4ef4 Mon Sep 17 00:00:00 2001 From: "Adam C. Emerson" Date: Mon, 24 Jul 2017 16:10:11 -0400 Subject: [PATCH] rgw: Fix use after free in IAM policy parser Signed-off-by: Adam C. Emerson --- src/rgw/rgw_iam_policy.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/rgw/rgw_iam_policy.cc b/src/rgw/rgw_iam_policy.cc index 9320fd50d779..309b3bab5a36 100644 --- a/src/rgw/rgw_iam_policy.cc +++ b/src/rgw/rgw_iam_policy.cc @@ -688,9 +688,10 @@ bool ParseState::key(const char* s, size_t l) { if (!k) { if (w->kind == TokenKind::cond_op) { + auto id = w->id; auto& t = pp->policy.statements.back(); pp->s.emplace_back(pp, cond_key); - t.conditions.emplace_back(w->id, s, l, cond_ifexists); + t.conditions.emplace_back(id, s, l, cond_ifexists); return true; } else { return false; -- 2.47.3