diff options
Diffstat (limited to 'source4/web_server')
-rw-r--r-- | source4/web_server/http.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source4/web_server/http.c b/source4/web_server/http.c index 61e6277800..7bb45afc1e 100644 --- a/source4/web_server/http.c +++ b/source4/web_server/http.c @@ -752,6 +752,7 @@ void http_process_input(struct websrv_context *web) struct esp_data *edata = talloc_get_type(web->task->private, struct esp_data); char *p; void *save_mpr_ctx = mprMemCtx(); + void *ejs_save = ejs_save_state(); int i; const char *file_type = NULL; BOOL esp_enable = False; @@ -802,6 +803,7 @@ void http_process_input(struct websrv_context *web) if (web->input.url == NULL) { http_error(web, 400, "You must specify a GET or POST request"); mprSetCtx(save_mpr_ctx); + ejs_restore_state(ejs_save); return; } @@ -811,6 +813,7 @@ void http_process_input(struct websrv_context *web) if (!NT_STATUS_IS_OK(status)) { http_error(web, 400, "Malformed POST data"); mprSetCtx(save_mpr_ctx); + ejs_restore_state(ejs_save); return; } } @@ -819,6 +822,7 @@ void http_process_input(struct websrv_context *web) if (!NT_STATUS_IS_OK(status)) { http_error(web, 400, "Malformed GET data"); mprSetCtx(save_mpr_ctx); + ejs_restore_state(ejs_save); return; } } @@ -899,6 +903,7 @@ void http_process_input(struct websrv_context *web) talloc_free(esp); mprSetCtx(save_mpr_ctx); + ejs_restore_state(ejs_save); return; internal_error: @@ -906,6 +911,7 @@ internal_error: talloc_free(esp); http_error(web, 500, "Internal server error"); mprSetCtx(save_mpr_ctx); + ejs_restore_state(ejs_save); } |