changeset 19795:b241c5bbe6cb

doveadm-http: Correctly initialize parameters
author Aki Tuomi <aki.tuomi@dovecot.fi>
date Sun, 21 Feb 2016 18:38:24 +0200
parents 836f26a24bfd
children 910fcbab16c7
files src/doveadm/client-connection-http.c
diffstat 1 files changed, 6 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/doveadm/client-connection-http.c	Sun Feb 21 18:37:24 2016 +0200
+++ b/src/doveadm/client-connection-http.c	Sun Feb 21 18:38:24 2016 +0200
@@ -373,10 +373,13 @@
 				conn->json_state = JSON_STATE_COMMAND_ID;
 				conn->method_err = 404;
 			} else {
-			        const struct doveadm_cmd_param *cpar;
+			        struct doveadm_cmd_param *param;
 				/* initialize pargv */
-				for(cpar = conn->cmd->parameters; cpar->name != NULL; cpar++)
-					array_append(&conn->pargv, cpar, 1);
+				for(int pargc=0;conn->cmd->parameters[pargc].name != NULL;pargc++) {
+					param = array_append_space(&conn->pargv);
+					memcpy(param, &(conn->cmd->parameters[pargc]), sizeof(struct doveadm_cmd_param));
+					param->value_set = FALSE;
+				}
 				conn->json_state = JSON_STATE_COMMAND_PARAMETERS;
 			}
 		} else if (conn->json_state == JSON_STATE_COMMAND_PARAMETERS) {