From 283cd2e9afcab1407d5614d79da4354790fa059a Mon Sep 17 00:00:00 2001 From: Ole Troan Date: Wed, 12 Jun 2019 14:28:14 +0200 Subject: api: string type to convert to vector Previous use of strndup() required user to remember to call free(). Now return a vector pointing directly to the API message string. Of course user must remember to copy the string out if lifetime is longer than API message lifetime. Change-Id: Ib5e2b3d52d258e1a42ea9ea9a9e04abbe360e2bf Type: fix Signed-off-by: Ole Troan --- src/plugins/http_static/http_static.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'src/plugins/http_static/http_static.c') 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 #include #include +#include /* define message IDs */ #include @@ -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); } -- cgit 1.2.3-korg