From 810c52de36719c3ee6cf2bdf59d5cde8840bbe55 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 13 Aug 2013 11:16:17 -0700 Subject: [PATCH] rgw: do not leak handler in get_handler() error path If we fail to initialize, delete the handler. Fixes (part of): #5949 Signed-off-by: Sage Weil Reviewed-by: Yehuda Sadeh --- src/rgw/rgw_rest.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/rgw/rgw_rest.cc b/src/rgw/rgw_rest.cc index ee73bb94fa5e..571e48696422 100644 --- a/src/rgw/rgw_rest.cc +++ b/src/rgw/rgw_rest.cc @@ -1233,8 +1233,10 @@ RGWHandler *RGWREST::get_handler(RGWRados *store, struct req_state *s, RGWClient return NULL; } *init_error = handler->init(store, s, cio); - if (*init_error < 0) + if (*init_error < 0) { + m->put_handler(handler); return NULL; + } return handler; } -- 2.47.3