summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorSimon Ratner <simon+github@probablyprime.net>2016-07-29 23:58:02 -0700
committerSimon Ratner <simon+github@probablyprime.net>2016-07-30 02:04:18 -0700
commit785dd5de6de7a748eda6efa9099f44841f096ef1 (patch)
treebe814341167eb5a9600591ae683767d3857a1279 /sys
parent60d6285a35404bfb7a0771b99975c251c5e1f63e (diff)
sys/config: Fix returning long config values to newtmgr
Diffstat (limited to 'sys')
-rw-r--r--sys/config/src/config_nmgr.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/sys/config/src/config_nmgr.c b/sys/config/src/config_nmgr.c
index ae4aa11b..b6019a76 100644
--- a/sys/config/src/config_nmgr.c
+++ b/sys/config/src/config_nmgr.c
@@ -43,34 +43,36 @@ static struct nmgr_group conf_nmgr_group = {
static int
conf_nmgr_read(struct nmgr_jbuf *njb)
{
- char tmp_str[CONF_MAX_NAME_LEN];
- char *val_str;
+ int rc;
+ char name_str[CONF_MAX_NAME_LEN];
+ char val_str[CONF_MAX_VAL_LEN];
+ char *val;
+
const struct json_attr_t attr[2] = {
[0] = {
.attribute = "name",
.type = t_string,
- .addr.string = tmp_str,
- .len = sizeof(tmp_str)
+ .addr.string = name_str,
+ .len = sizeof(name_str)
},
[1] = {
.attribute = NULL
}
};
struct json_value jv;
- int rc;
rc = json_read_object(&njb->njb_buf, attr);
if (rc) {
return OS_EINVAL;
}
- val_str = conf_get_value(tmp_str, tmp_str, sizeof(tmp_str));
- if (!val_str) {
+ val = conf_get_value(name_str, val_str, sizeof(val_str));
+ if (!val) {
return OS_EINVAL;
}
json_encode_object_start(&njb->njb_enc);
- JSON_VALUE_STRING(&jv, val_str);
+ JSON_VALUE_STRING(&jv, val);
json_encode_object_entry(&njb->njb_enc, "val", &jv);
json_encode_object_finish(&njb->njb_enc);