diff options
Diffstat (limited to 'src/plugins/http_static')
-rw-r--r-- | src/plugins/http_static/http_static.c | 16 | ||||
-rw-r--r-- | src/plugins/http_static/http_static_test.c | 1 |
2 files changed, 9 insertions, 8 deletions
diff --git a/src/plugins/http_static/http_static.c b/src/plugins/http_static/http_static.c index 41601f96321..d380665f1e2 100644 --- a/src/plugins/http_static/http_static.c +++ b/src/plugins/http_static/http_static.c @@ -22,6 +22,7 @@ #include <vlibapi/api.h> #include <vlibmemory/api.h> #include <vpp/app/version.h> +#include <vlibapi/api_types_inlines.h> /* define message IDs */ #include <http_static/http_static_msg_enum.h> @@ -66,16 +67,13 @@ static void vl_api_http_static_enable_t_handler vl_api_http_static_enable_reply_t *rmp; http_static_main_t *hmp = &http_static_main; int rv; - u8 *www_root; - u8 *uri; + u8 *www_root = 0; + u8 *uri = 0; char *p = (char *) &mp->www_root; - www_root = - format (0, "%s%c", vl_api_from_api_string_c ((vl_api_string_t *) p), 0), - p += vl_api_string_len ((vl_api_string_t *) p) + sizeof (vl_api_string_t); - uri = - format (0, "%s%c", vl_api_from_api_string_c ((vl_api_string_t *) p), 0); - + www_root = vl_api_from_api_to_vec ((vl_api_string_t *) p); + p += vl_api_string_len ((vl_api_string_t *) p) + sizeof (vl_api_string_t); + uri = vl_api_from_api_to_vec ((vl_api_string_t *) p); rv = http_static_server_enable_api (ntohl (mp->fifo_size), @@ -83,6 +81,8 @@ static void vl_api_http_static_enable_t_handler ntohl (mp->prealloc_fifos), ntohl (mp->private_segment_size), www_root, uri); + vec_free (www_root); + vec_free (uri); REPLY_MACRO (VL_API_HTTP_STATIC_ENABLE_REPLY); } diff --git a/src/plugins/http_static/http_static_test.c b/src/plugins/http_static/http_static_test.c index 0720463cf63..ec715725148 100644 --- a/src/plugins/http_static/http_static_test.c +++ b/src/plugins/http_static/http_static_test.c @@ -18,6 +18,7 @@ #include <vlibapi/api.h> #include <vlibmemory/api.h> #include <vppinfra/error.h> +#include <vlibapi/api_types_inlines.h> uword unformat_sw_if_index (unformat_input_t * input, va_list * args); |