From: kenstir Date: Sun, 14 Jun 2020 01:43:57 +0000 (-0400) Subject: Fix LP#483862493 by using growing_buffer X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=50cb1b3048207d5b2fbaf24c0d5e2d560b39c3f9;p=working%2FOpenSRF.git Fix LP#483862493 by using growing_buffer Signed-off-by: Ken Cox --- diff --git a/src/gateway/osrf_json_gateway.c b/src/gateway/osrf_json_gateway.c index a015e53..783ebc9 100644 --- a/src/gateway/osrf_json_gateway.c +++ b/src/gateway/osrf_json_gateway.c @@ -392,24 +392,24 @@ static int osrf_json_gateway_method_handler (request_rec *r) { /* add a debug field if the request died */ ap_log_rerror( APLOG_MARK, APLOG_INFO, 0, r, "OpenSRF JSON Request returned error: %s -> %s", statusname, statustext ); - int l = strlen(statusname) + strlen(statustext) + 32; - char buf[l]; + growing_buffer* buf = buffer_init(512); if (isXML) - snprintf( buf, sizeof(buf), "\"%s : %s\"", statusname, statustext ); + buffer_fadd(buf, "\"%s : %s\"", statusname, statustext); else { - char bb[l]; - snprintf(bb, sizeof(bb), "%s : %s", statusname, statustext); - jsonObject* tmp = jsonNewObject(bb); + buffer_fadd(buf, "%s : %s", statusname, statustext); + jsonObject* tmp = jsonNewObject(buf->buf); char* j = jsonToStringFunc(tmp); - snprintf( buf, sizeof(buf), ",\"debug\": %s", j); + buffer_reset(buf); + buffer_fadd(buf, ",\"debug\": %s", j); free(j); jsonObjectFree(tmp); } - ap_rputs(buf, r); + ap_rputs(buf->buf, r); + buffer_free(buf); free(statusname); free(statustext); }