From: Felix Fietkau Date: Mon, 3 Oct 2011 00:37:54 +0000 (+0200) Subject: fix a heap overrun X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fnetifd.git;a=commitdiff_plain;h=40450b303077d925339d50395ecf79629ff0ba72;ds=sidebyside fix a heap overrun --- diff --git a/proto-shell.c b/proto-shell.c index 5937e52..555004e 100644 --- a/proto-shell.c +++ b/proto-shell.c @@ -382,11 +382,11 @@ proto_shell_parse_config(struct config_param_list *config, json_object *obj) int str_len = 0; int i; - attrs = calloc(1, sizeof(*attrs)); + config->n_params = json_object_array_length(obj); + attrs = calloc(1, sizeof(*attrs) * config->n_params); if (!attrs) return NULL; - config->n_params = json_object_array_length(obj); config->params = attrs; for (i = 0; i < config->n_params; i++) { json_object *cur, *name, *type;