]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
doveadm-http: Correctly initialize parameters
authorAki Tuomi <aki.tuomi@dovecot.fi>
Sun, 21 Feb 2016 16:38:24 +0000 (18:38 +0200)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Sun, 21 Feb 2016 16:38:24 +0000 (18:38 +0200)
src/doveadm/client-connection-http.c

index b89ef8ecd73eebd8096cef500a09259bbc4f8564..5c2bc4529a29ccc1b808e454ba736f73076de858 100644 (file)
@@ -373,10 +373,13 @@ doveadm_http_server_read_request(struct client_connection_http *conn)
                                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) {