From 2edc406e789e2557f3b1f8ba6e1206f7b7da2ab5 Mon Sep 17 00:00:00 2001 From: Wang Xu Date: Wed, 8 Feb 2017 13:33:33 +0800 Subject: [PATCH] Fix the sysctl json parsing 1 token shift during the token reading like this: file: ```{"hostname":"951d97892fdb","containers":[{"id":"951d97892fdbde41341606127fba406788a39117f36da61048a92350566cab2d","rootfs":"/rootfs","fstype":"ext4","imag e":"sda","addr":"0:0","fsmap":[{"source":"rLfDEQDukA","path":"/dev/termination-log","readOnly":false,"dockerVolume":true},{"source":"ZuaaEsQpWD","path":"/etc/hosts","readOnly":false,"dockerVolume":true}],"sysctl":{"vm.overcommit_memory":" 1"},"process":{"terminal":false,"stdio":1,"stderr":2,"args":["sh"],"envs":[{"env":"PATH","value":"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"}],"workdir":"/"},"restartPolicy":"never","initialize":false}],"interfaces":[{" device":"eth0","ipAddress":"172.16.1.227","netMask":"255.255.0.0"}],"dns":["172.16.0.2","8.8.8.8"],"routes":[{"dest":"0.0.0.0/0","gateway":"172.16.0.1","device":"eth0"}],"shareDir":"share_dir","portmappingWhiteLists":{"internalNetworks":[ "172.16.0.0/16"]}}``` ```I0208 03:13:11.761152 21073 init_comm.go:68] [console] 31 name sysctl I0208 03:13:11.761267 21073 init_comm.go:68] [console] sysctl size 1 I0208 03:13:11.761404 21073 init_comm.go:68] [console] sysctl 1:process``` Signed-off-by: Wang Xu --- src/parse.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/parse.c b/src/parse.c index 4111bc68..e567886f 100644 --- a/src/parse.c +++ b/src/parse.c @@ -465,11 +465,11 @@ static int container_parse_sysctl(struct hyper_container *c, char *json, jsmntok i++; for (j = 0; j < c->sys_num; j++) { - c->sys[j].path = (json_token_str(json, &toks[++i])); + c->sys[j].path = (json_token_str(json, &toks[i++])); while((p = strchr(c->sys[j].path, '.')) != NULL) { *p = '/'; } - c->sys[j].value = (json_token_str(json, &toks[++i])); + c->sys[j].value = (json_token_str(json, &toks[i++])); dbg_pr(stdout, "sysctl %s:%s\n", c->sys[j].path, c->sys[j].value); } return i;