summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Al-Gaaf <danny.al-gaaf@bisect.de>2013-07-14 18:00:30 +0200
committerDanny Al-Gaaf <danny.al-gaaf@bisect.de>2013-07-16 14:20:11 +0200
commitcc49d3fed09de59c3702580e2221464d2db61dd9 (patch)
treeac859e2f60770cd098d362eff650361baf58c5f0
parent7a2e8a6f192d3c0a69411fe832d451ae09992e8c (diff)
downloadceph-cc49d3fed09de59c3702580e2221464d2db61dd9.tar.gz
rgw/rgw_rest.cc: fix malloc memory leak
Free with malloc allocated memory in error case before return. Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
-rw-r--r--src/rgw/rgw_rest.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/rgw/rgw_rest.cc b/src/rgw/rgw_rest.cc
index 623bb0b5e16..0f9e61d1740 100644
--- a/src/rgw/rgw_rest.cc
+++ b/src/rgw/rgw_rest.cc
@@ -835,8 +835,10 @@ int rgw_rest_read_all_input(struct req_state *s, char **pdata, int *plen, int ma
return -ENOMEM;
}
int ret = s->cio->read(data, cl, &len);
- if (ret < 0)
+ if (ret < 0) {
+ free(data);
return ret;
+ }
data[len] = '\0';
} else if (!s->length) {
const char *encoding = s->info.env->get("HTTP_TRANSFER_ENCODING");