From: Timo Sirainen Date: Mon, 12 Dec 2016 05:19:55 +0000 (+0200) Subject: global: Change string position/length from unsigned int to size_t X-Git-Tag: 2.3.0.rc1~2410 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2ac5f36aa7c2e7a07ba8815d43a6d7483f62e74c;p=thirdparty%2Fdovecot%2Fcore.git global: Change string position/length from unsigned int to size_t Mainly to avoid truncating >4GB strings, which might potentially cause some security holes. Normally there are other limits, which prevent such excessive strings from being created in the first place. I'm sure this didn't find everything. Maybe everything could be found with compiler warnings. -Wconversion kind of does it, but it gives way too many unnecessary warnings. These were mainly found with: grep " = strlen" egrep "unsigned int.*(size|len)" --- diff --git a/src/auth/auth-cache.c b/src/auth/auth-cache.c index c47808ff6d..b64aefe3e9 100644 --- a/src/auth/auth-cache.c +++ b/src/auth/auth-cache.c @@ -271,7 +271,7 @@ static bool auth_cache_node_is_user(struct auth_cache_node *node, const char *username) { const char *data = node->data; - unsigned int username_len; + size_t username_len; /* The cache nodes begin with "P"/"U", passdb/userdb ID, optional "+" master user, "\t" and then usually followed by the username. diff --git a/src/auth/auth-request.c b/src/auth/auth-request.c index f50988b845..e9e20d54d0 100644 --- a/src/auth/auth-request.c +++ b/src/auth/auth-request.c @@ -1745,7 +1745,7 @@ void auth_request_set_field(struct auth_request *request, const char *name, const char *value, const char *default_scheme) { - unsigned int name_len = strlen(name); + size_t name_len = strlen(name); i_assert(*name != '\0'); i_assert(value != NULL); @@ -1966,7 +1966,7 @@ auth_request_userdb_import(struct auth_request *request, const char *args) void auth_request_set_userdb_field(struct auth_request *request, const char *name, const char *value) { - unsigned int name_len = strlen(name); + size_t name_len = strlen(name); uid_t uid; gid_t gid; diff --git a/src/auth/auth-request.h b/src/auth/auth-request.h index 63fb838704..56e95b9434 100644 --- a/src/auth/auth-request.h +++ b/src/auth/auth-request.h @@ -81,7 +81,7 @@ struct auth_request { struct timeout *to_abort, *to_penalty; unsigned int policy_penalty; unsigned int last_penalty; - unsigned int initial_response_len; + size_t initial_response_len; const unsigned char *initial_response; union { diff --git a/src/auth/db-checkpassword.c b/src/auth/db-checkpassword.c index b433d51191..4c2fa10f2f 100644 --- a/src/auth/db-checkpassword.c +++ b/src/auth/db-checkpassword.c @@ -35,7 +35,7 @@ struct chkpw_auth_request { struct io *io_out, *io_in; string_t *input_buf; - unsigned int output_pos, output_len; + size_t output_pos, output_len; int exit_status; bool exited:1; @@ -463,7 +463,7 @@ void db_checkpassword_call(struct db_checkpassword *db, void (*request_callback)()) { struct chkpw_auth_request *chkpw_auth_request; - unsigned int output_len; + size_t output_len; int fd_in[2], fd_out[2]; pid_t pid; @@ -473,7 +473,7 @@ void db_checkpassword_call(struct db_checkpassword *db, output_len += strlen(auth_password); if (output_len > CHECKPASSWORD_MAX_REQUEST_LEN) { auth_request_log_info(request, AUTH_SUBSYS_DB, - "Username+password combination too long (%u bytes)", + "Username+password combination too long (%"PRIuSIZE_T" bytes)", output_len); callback(request, DB_CHECKPASSWORD_STATUS_FAILURE, NULL, request_callback); diff --git a/src/auth/db-ldap.c b/src/auth/db-ldap.c index 556472fe35..78a9d56bd0 100644 --- a/src/auth/db-ldap.c +++ b/src/auth/db-ldap.c @@ -1797,7 +1797,8 @@ db_ldap_result_finish_debug(struct db_ldap_result_iterate_context *ctx) struct hash_iterate_context *iter; char *name; struct db_ldap_value *value; - unsigned int orig_len, unused_count = 0; + unsigned int unused_count = 0; + size_t orig_len; orig_len = str_len(ctx->debug); if (orig_len == 0) { diff --git a/src/auth/mech-gssapi.c b/src/auth/mech-gssapi.c index c81e174e1f..09d4f105b8 100644 --- a/src/auth/mech-gssapi.c +++ b/src/auth/mech-gssapi.c @@ -233,10 +233,10 @@ duplicate_name(struct auth_request *request, gss_name_t old) return new; } -static bool data_has_nuls(const void *data, unsigned int len) +static bool data_has_nuls(const void *data, size_t len) { const unsigned char *c = data; - unsigned int i; + size_t i; /* apparently all names end with NUL? */ if (len > 0 && c[len-1] == '\0') @@ -584,7 +584,7 @@ mech_gssapi_unwrap(struct gssapi_auth_request *request, gss_buffer_desc inbuf) gss_buffer_desc outbuf; const char *login_user, *error; unsigned char *name; - unsigned int name_len; + size_t name_len; major_status = gss_unwrap(&minor_status, request->gss_ctx, &inbuf, &outbuf, NULL, NULL); diff --git a/src/auth/mech-scram-sha1.c b/src/auth/mech-scram-sha1.c index 99e11ef1a2..282ae9b9d5 100644 --- a/src/auth/mech-scram-sha1.c +++ b/src/auth/mech-scram-sha1.c @@ -350,7 +350,7 @@ static void mech_scram_sha1_auth_continue(struct auth_request *auth_request, (struct scram_auth_request *)auth_request; const char *error = NULL; const char *server_final_message; - int len; + size_t len; if (request->client_first_message_bare == NULL) { /* Received client-first-message */ diff --git a/src/auth/password-scheme.c b/src/auth/password-scheme.c index bdff0f1142..e554de610c 100644 --- a/src/auth/password-scheme.c +++ b/src/auth/password-scheme.c @@ -44,7 +44,7 @@ password_scheme_lookup(const char *name, enum password_encoding *encoding_r) { const struct password_scheme *scheme; const char *encoding = NULL; - unsigned int scheme_len; + size_t scheme_len; *encoding_r = PW_ENCODING_NONE; @@ -145,7 +145,7 @@ int password_decode(const char *password, const char *scheme, const struct password_scheme *s; enum password_encoding encoding; buffer_t *buf; - unsigned int len; + size_t len; bool guessed_encoding; *error_r = NULL; @@ -614,7 +614,7 @@ plain_trunc_verify(const char *plaintext, const char *user ATTR_UNUSED, const unsigned char *raw_password, size_t size, const char **error_r) { - unsigned int i, plaintext_len, trunc_len = 0; + size_t i, plaintext_len, trunc_len = 0; /* format: - */ for (i = 0; i < size; i++) { diff --git a/src/auth/userdb-dict.c b/src/auth/userdb-dict.c index f594b57a99..80b0d13f98 100644 --- a/src/auth/userdb-dict.c +++ b/src/auth/userdb-dict.c @@ -22,7 +22,7 @@ struct dict_userdb_iterate_context { userdb_callback_t *userdb_callback; const char *key_prefix; - unsigned int key_prefix_len; + size_t key_prefix_len; struct dict_iterate_context *iter; }; diff --git a/src/config/config-parser-private.h b/src/config/config-parser-private.h index da58a550c6..2527c5f9d4 100644 --- a/src/config/config-parser-private.h +++ b/src/config/config-parser-private.h @@ -23,7 +23,7 @@ struct config_section_stack { struct config_filter filter; /* root=NULL-terminated list of parsers */ struct config_module_parser *parsers; - unsigned int pathlen; + size_t pathlen; const char *open_path; unsigned int open_linenum; @@ -48,7 +48,7 @@ struct config_parser_context { struct input_stack *cur_input; string_t *str; - unsigned int pathlen; + size_t pathlen; unsigned int section_counter; const char *error; diff --git a/src/config/config-parser.c b/src/config/config-parser.c index 7463c224e3..10a70866d6 100644 --- a/src/config/config-parser.c +++ b/src/config/config-parser.c @@ -552,7 +552,7 @@ config_parse_line(struct config_parser_context *ctx, const char **key_r, const char **value_r) { const char *key; - unsigned int len; + size_t len; char *p; *key_r = NULL; diff --git a/src/config/config-request.c b/src/config/config-request.c index 10c4aada55..54e433773a 100644 --- a/src/config/config-request.c +++ b/src/config/config-request.c @@ -166,7 +166,7 @@ bool config_export_type(string_t *str, const void *value, } case SET_ENUM: { const char *const *val = value; - unsigned int len = strlen(*val); + size_t len = strlen(*val); if (dump_default) str_append(str, *val); @@ -220,7 +220,8 @@ settings_export(struct config_export_context *ctx, const struct setting_define *def; const void *value, *default_value, *change_value; void *const *children, *const *change_children = NULL; - unsigned int i, count, count2, prefix_len; + unsigned int i, count, count2; + size_t prefix_len; const char *str; char *key; bool dump, dump_default = FALSE; diff --git a/src/config/doveconf.c b/src/config/doveconf.c index d79fc690eb..b1b88c1780 100644 --- a/src/config/doveconf.c +++ b/src/config/doveconf.c @@ -154,7 +154,7 @@ static void config_dump_human_deinit(struct config_dump_human_context *ctx) static bool value_need_quote(const char *value) { - unsigned int len = strlen(value); + size_t len = strlen(value); if (len == 0) return FALSE; @@ -176,8 +176,9 @@ config_dump_human_output(struct config_dump_human_context *ctx, struct prefix_stack prefix; const char *const *strings, *const *args, *p, *str, *const *prefixes; const char *key, *key2, *value; - unsigned int i, j, count, len, prefix_count, skip_len; - unsigned int setting_name_filter_len, prefix_idx = UINT_MAX; + unsigned int i, j, count, prefix_count; + unsigned int prefix_idx = UINT_MAX; + size_t len, skip_len, setting_name_filter_len; bool unique_key; int ret = 0; @@ -461,7 +462,7 @@ config_dump_one(const struct config_filter *filter, bool hide_key, { static struct config_dump_human_context *ctx; const char *const *str; - unsigned int len; + size_t len; bool dump_section = FALSE; ctx = config_dump_human_init(NULL, scope, FALSE); @@ -499,7 +500,8 @@ static void config_request_simple_stdout(const char *key, const char *value, void *context) { char **setting_name_filters = context; - unsigned int i, filter_len; + unsigned int i; + size_t filter_len; if (setting_name_filters == NULL) { printf("%s=%s\n", key, value); @@ -600,7 +602,7 @@ static void hostname_verify_format(const char *arg) struct hostname_format fmt; const char *p; unsigned char hash[GUID_128_HOST_HASH_SIZE]; - unsigned int len, n, limit; + unsigned int n, limit; HASH_TABLE(void *, void *) hosts; void *key, *value; string_t *host; @@ -627,7 +629,7 @@ static void hostname_verify_format(const char *arg) fmt.suffix = p; } else { /* detect host1[suffix] vs host01[suffix] */ - len = strlen(my_hostname); + size_t len = strlen(my_hostname); while (len > 0 && !i_isdigit(my_hostname[len-1])) len--; fmt.suffix = my_hostname + len; diff --git a/src/config/old-set-parser.c b/src/config/old-set-parser.c index f17e5738a1..cd1db6be6d 100644 --- a/src/config/old-set-parser.c +++ b/src/config/old-set-parser.c @@ -150,7 +150,7 @@ old_settings_handle_root(struct config_parser_context *ctx, const char *key, const char *value) { const char *p; - unsigned int len; + size_t len; if (strcmp(key, "base_dir") == 0) { len = strlen(value); @@ -595,7 +595,7 @@ static void socket_apply(struct config_parser_context *ctx) { const struct socket_set *set = &ctx->old->socket_set; const char *path, *prefix; - unsigned int len; + size_t len; bool master_suffix; if (set->path == NULL) { diff --git a/src/director/director-connection.c b/src/director/director-connection.c index f5aa44ab33..d4aa859d37 100644 --- a/src/director/director-connection.c +++ b/src/director/director-connection.c @@ -2145,7 +2145,7 @@ static void director_connection_reconnect(struct director_connection **_conn, void director_connection_send(struct director_connection *conn, const char *data) { - unsigned int len = strlen(data); + size_t len = strlen(data); off_t ret; if (conn->output->closed || !conn->connected) diff --git a/src/doveadm/doveadm-auth-server.c b/src/doveadm/doveadm-auth-server.c index e9a5258162..d26264279d 100644 --- a/src/doveadm/doveadm-auth-server.c +++ b/src/doveadm/doveadm-auth-server.c @@ -87,7 +87,7 @@ cmd_user_input(struct auth_master_connection *conn, t_strdup_printf("\"error\":\"%s: user doesn't exist\"", lookup_name)); } else if (show_field != NULL) { - unsigned int show_field_len = strlen(show_field); + size_t show_field_len = strlen(show_field); string_t *json_field = t_str_new(show_field_len+1); json_append_escaped(json_field, show_field); o_stream_nsend_str(doveadm_print_ostream, t_strdup_printf("\"%s\":", str_c(json_field))); diff --git a/src/doveadm/doveadm-auth.c b/src/doveadm/doveadm-auth.c index 73812f4eaf..9400d400f1 100644 --- a/src/doveadm/doveadm-auth.c +++ b/src/doveadm/doveadm-auth.c @@ -86,7 +86,7 @@ cmd_user_input(struct auth_master_connection *conn, "%s: user %s doesn't exist\n", lookup_name, input->username); } else if (show_field != NULL) { - unsigned int show_field_len = strlen(show_field); + size_t show_field_len = strlen(show_field); for (; *fields != NULL; fields++) { if (strncmp(*fields, show_field, show_field_len) == 0 && diff --git a/src/doveadm/doveadm-cmd.c b/src/doveadm/doveadm-cmd.c index ad07d3ac9e..97fd6e7a97 100644 --- a/src/doveadm/doveadm-cmd.c +++ b/src/doveadm/doveadm-cmd.c @@ -111,7 +111,7 @@ doveadm_cmd_find_multi_word(const char *cmdname, int *_argc, { int argc = *_argc; const char *const *argv = *_argv; - unsigned int len; + size_t len; if (argc < 2) return FALSE; @@ -141,7 +141,7 @@ doveadm_cmd_find_with_args(const char *cmd_name, int *argc, const char *const *argv[]) { const struct doveadm_cmd *cmd; - unsigned int cmd_name_len; + size_t cmd_name_len; i_assert(*argc > 0); diff --git a/src/doveadm/doveadm-fs.c b/src/doveadm/doveadm-fs.c index 4d147d8005..4796d8fb1e 100644 --- a/src/doveadm/doveadm-fs.c +++ b/src/doveadm/doveadm-fs.c @@ -385,7 +385,7 @@ static void cmd_fs_delete_recursive_path(struct fs *fs, const char *path, unsigned int async_count) { struct fs_file *file; - unsigned int path_len; + size_t path_len; path_len = strlen(path); if (path_len > 0 && path[path_len-1] != '/') diff --git a/src/doveadm/doveadm-log.c b/src/doveadm/doveadm-log.c index e50898a905..7167734535 100644 --- a/src/doveadm/doveadm-log.c +++ b/src/doveadm/doveadm-log.c @@ -91,7 +91,7 @@ cmd_log_find_syslog_files(struct log_find_context *ctx, const char *path) struct stat st; char *key; string_t *full_path; - unsigned int dir_len; + size_t dir_len; dir = opendir(path); if (dir == NULL) { @@ -131,7 +131,8 @@ cmd_log_find_syslog_files(struct log_find_context *ctx, const char *path) static bool log_type_find(const char *str, enum log_type *type_r) { - unsigned int i, len = strlen(str); + unsigned int i; + size_t len = strlen(str); for (i = 0; i < LAST_LOG_TYPE; i++) { if (strncasecmp(str, failure_log_type_prefixes[i], len) == 0 && @@ -281,7 +282,7 @@ static void cmd_log_find(int argc, char *argv[]) static const char *t_cmd_log_error_trim(const char *orig) { - unsigned int pos; + size_t pos; /* Trim whitespace from suffix and remove ':' if it exists */ for (pos = strlen(orig); pos > 0; pos--) { diff --git a/src/doveadm/doveadm-mail-mailbox.c b/src/doveadm/doveadm-mail-mailbox.c index a300e844b6..ba3f8658a9 100644 --- a/src/doveadm/doveadm-mail-mailbox.c +++ b/src/doveadm/doveadm-mail-mailbox.c @@ -220,7 +220,7 @@ cmd_mailbox_create_run(struct doveadm_mail_cmd_context *_ctx, array_foreach(&ctx->mailboxes, namep) { const char *name = *namep; - unsigned int len; + size_t len; bool directory = FALSE; ns = mail_namespace_find(user->namespaces, name); diff --git a/src/doveadm/doveadm-mail.c b/src/doveadm/doveadm-mail.c index dbf3a330f4..729ca0f9ef 100644 --- a/src/doveadm/doveadm-mail.c +++ b/src/doveadm/doveadm-mail.c @@ -699,7 +699,7 @@ doveadm_mail_cmd_try_find_multi_word(const struct doveadm_mail_cmd *cmd, const char *cmdname, int *argc, const char *const **argv) { - unsigned int len; + size_t len; if (*argc < 2) return FALSE; @@ -727,7 +727,7 @@ doveadm_mail_cmd_find_from_argv(const char *cmd_name, int *argc, const char *const **argv) { const struct doveadm_mail_cmd *cmd; - unsigned int cmd_name_len; + size_t cmd_name_len; const char *const *orig_argv; int orig_argc; @@ -822,7 +822,7 @@ void doveadm_mail_try_help_name(const char *cmd_name) bool doveadm_mail_has_subcommands(const char *cmd_name) { const struct doveadm_mail_cmd *cmd; - unsigned int len = strlen(cmd_name); + size_t len = strlen(cmd_name); array_foreach(&doveadm_mail_cmds, cmd) { if (strncmp(cmd->name, cmd_name, len) == 0 && diff --git a/src/doveadm/doveadm-print-table.c b/src/doveadm/doveadm-print-table.c index 5cadd53244..54d98a89e7 100644 --- a/src/doveadm/doveadm-print-table.c +++ b/src/doveadm/doveadm-print-table.c @@ -19,7 +19,7 @@ struct doveadm_print_table_header { const char *key; const char *title; enum doveadm_print_header_flags flags; - unsigned int min_length, max_length, length; + size_t min_length, max_length, length; }; struct doveadm_print_table_context { @@ -51,8 +51,8 @@ static void doveadm_calc_header_length(void) { struct doveadm_print_table_header *headers; const char *value, *const *values; - unsigned int i, line, len, hdr_count, value_count, line_count; - unsigned int max_length, orig_length, diff; + unsigned int i, line, hdr_count, value_count, line_count; + size_t len, max_length, orig_length, diff; ctx->lengths_set = TRUE; diff --git a/src/doveadm/doveadm-sis.c b/src/doveadm/doveadm-sis.c index 044e002783..1cd5bf2d3a 100644 --- a/src/doveadm/doveadm-sis.c +++ b/src/doveadm/doveadm-sis.c @@ -212,7 +212,7 @@ static void cmd_sis_deduplicate(int argc, char *argv[]) struct dirent *d; struct stat st, first_st; string_t *path; - unsigned int dir_len; + size_t dir_len; int ret; if (argc < 3) @@ -270,7 +270,7 @@ static void cmd_sis_find(int argc, char *argv[]) struct dirent *d; struct stat st; string_t *str; - unsigned int dir_len, hash_len; + size_t dir_len, hash_len; if (argc < 3 || strlen(argv[2]) < 4) help(&doveadm_cmd_sis_find); diff --git a/src/doveadm/doveadm-util.c b/src/doveadm/doveadm-util.c index 3a895f5af4..31b0eab7a1 100644 --- a/src/doveadm/doveadm-util.c +++ b/src/doveadm/doveadm-util.c @@ -49,7 +49,7 @@ bool doveadm_has_unloaded_plugin(const char *name) DIR *dir; struct dirent *d; const char *plugin_name; - unsigned int name_len = strlen(name); + size_t name_len = strlen(name); bool found = FALSE; /* first check that it's not actually loaded */ diff --git a/src/doveadm/doveadm.c b/src/doveadm/doveadm.c index 24b76441eb..c6203f3b17 100644 --- a/src/doveadm/doveadm.c +++ b/src/doveadm/doveadm.c @@ -55,7 +55,8 @@ doveadm_usage_compress_lines(FILE *out, const char *str, const char *prefix) const char *cmd, *args, *p, *short_name, *sub_name; const char *prev_name = "", *prev_sub_name = ""; const char **lines; - unsigned int i, count, prefix_len = strlen(prefix); + unsigned int i, count; + size_t prefix_len = strlen(prefix); /* split lines */ lines = (void *)p_strsplit(pool_datastack_create(), str, "\n"); @@ -228,7 +229,7 @@ static bool doveadm_has_subcommands(const char *cmd_name) { const struct doveadm_cmd_ver2 *cmd2; const struct doveadm_cmd *cmd; - unsigned int len = strlen(cmd_name); + size_t len = strlen(cmd_name); array_foreach(&doveadm_cmds, cmd) { if (strncmp(cmd->name, cmd_name, len) == 0 && diff --git a/src/doveadm/dsync/dsync-brain-mailbox-tree.c b/src/doveadm/dsync/dsync-brain-mailbox-tree.c index 786efa5053..9af708df22 100644 --- a/src/doveadm/dsync/dsync-brain-mailbox-tree.c +++ b/src/doveadm/dsync/dsync-brain-mailbox-tree.c @@ -120,7 +120,7 @@ dsync_namespace_match_parts(struct mail_namespace *ns, const char *const *name_parts) { const char *part, *prefix = ns->prefix; - unsigned int part_len; + size_t part_len; char ns_sep = mail_namespace_get_sep(ns); if ((ns->flags & NAMESPACE_FLAG_INBOX_USER) != 0 && diff --git a/src/doveadm/dsync/dsync-mailbox-tree-sync.c b/src/doveadm/dsync/dsync-mailbox-tree-sync.c index 3b0937927a..6bb507721f 100644 --- a/src/doveadm/dsync/dsync-mailbox-tree-sync.c +++ b/src/doveadm/dsync/dsync-mailbox-tree-sync.c @@ -364,7 +364,7 @@ static bool sync_node_is_namespace_prefix(struct dsync_mailbox_tree *tree, struct dsync_mailbox_node *node) { const char *full_name; - unsigned int prefix_len = node->ns == NULL ? 0 : node->ns->prefix_len; + size_t prefix_len = node->ns == NULL ? 0 : node->ns->prefix_len; if (strcmp(node->name, "INBOX") == 0 && node->parent == &tree->root) return TRUE; @@ -390,7 +390,8 @@ sync_rename_node_to_temp(struct dsync_mailbox_tree_sync_ctx *ctx, const char *old_name, *new_name, *p; char name[TEMP_MAX_NAME_LEN+1]; buffer_t buf; - unsigned int prefix_len, max_prefix_len, counter = 1; + size_t prefix_len, max_prefix_len; + unsigned int counter = 1; i_assert(!sync_node_is_namespace_prefix(tree, node)); @@ -963,7 +964,7 @@ mailbox_node_generate_suffix(struct dsync_mailbox_node *node) static void suffix_inc(string_t *str) { char *data; - unsigned int i; + size_t i; data = str_c_modifiable(str) + str_len(str)-1; for (i = str_len(str); i > 0; i--, data--) { @@ -988,7 +989,7 @@ sync_rename_temp_mailbox_node(struct dsync_mailbox_tree *tree, { const char *p, *new_suffix; string_t *str = t_str_new(256); - unsigned int max_prefix_len; + size_t max_prefix_len; /* The name is currently -. Both sides need to use equivalent names, so we'll replace the if possible diff --git a/src/doveadm/dsync/dsync-mailbox-tree.c b/src/doveadm/dsync/dsync-mailbox-tree.c index bebb772f63..b1a420c8ac 100644 --- a/src/doveadm/dsync/dsync-mailbox-tree.c +++ b/src/doveadm/dsync/dsync-mailbox-tree.c @@ -180,7 +180,7 @@ dsync_mailbox_tree_iter_init(struct dsync_mailbox_tree *tree) return iter; } -static unsigned int node_get_full_name_length(struct dsync_mailbox_node *node) +static size_t node_get_full_name_length(struct dsync_mailbox_node *node) { if (node->parent->parent == NULL) return strlen(node->name); @@ -194,7 +194,7 @@ bool dsync_mailbox_tree_iter_next(struct dsync_mailbox_tree_iter *iter, const char **full_name_r, struct dsync_mailbox_node **node_r) { - unsigned int len; + size_t len; if (iter->cur->first_child != NULL) iter->cur = iter->cur->first_child; @@ -395,7 +395,7 @@ dsync_mailbox_tree_dup_nodes(struct dsync_mailbox_tree *dest_tree, const struct dsync_mailbox_node *src, string_t *path) { - unsigned int prefix_len = str_len(path); + size_t prefix_len = str_len(path); struct dsync_mailbox_node *node; if (prefix_len > 0) { diff --git a/src/imap/cmd-list.c b/src/imap/cmd-list.c index e338ec2094..fa8701f57f 100644 --- a/src/imap/cmd-list.c +++ b/src/imap/cmd-list.c @@ -31,7 +31,7 @@ static void mailbox_flags2str(struct cmd_list_context *ctx, string_t *str, const char *special_use, enum mailbox_info_flags flags) { - unsigned int orig_len = str_len(str); + size_t orig_len = str_len(str); if ((flags & MAILBOX_NONEXISTENT) != 0 && !ctx->used_listext) { flags |= MAILBOX_NOSELECT; diff --git a/src/imap/cmd-notify.c b/src/imap/cmd-notify.c index 55b2cce31f..725e4d5fb7 100644 --- a/src/imap/cmd-notify.c +++ b/src/imap/cmd-notify.c @@ -144,7 +144,8 @@ cmd_notify_add_mailbox(struct imap_notify_context *ctx, struct imap_notify_namespace *notify_ns; struct imap_notify_mailboxes *notify_boxes; const char *const *names; - unsigned int i, count, cur_len, name_len = strlen(name); + unsigned int i, count; + size_t cur_len, name_len = strlen(name); char ns_sep = mail_namespace_get_sep(ns); if ((ns->flags & NAMESPACE_FLAG_INBOX_USER) != 0 && diff --git a/src/imap/cmd-rename.c b/src/imap/cmd-rename.c index 35f20f2ce9..b278c10883 100644 --- a/src/imap/cmd-rename.c +++ b/src/imap/cmd-rename.c @@ -9,7 +9,7 @@ bool cmd_rename(struct client_command_context *cmd) struct mail_namespace *old_ns, *new_ns; struct mailbox *old_box, *new_box; const char *oldname, *newname; - unsigned int oldlen; + size_t oldlen; /* */ if (!client_read_string_args(cmd, 2, &oldname, &newname)) diff --git a/src/imap/cmd-subscribe.c b/src/imap/cmd-subscribe.c index 4c3e63c9cc..88786a88dd 100644 --- a/src/imap/cmd-subscribe.c +++ b/src/imap/cmd-subscribe.c @@ -26,7 +26,7 @@ subscribe_is_valid_name(struct client_command_context *cmd, struct mailbox *box) static bool str_ends_with_char(const char *str, char c) { - unsigned int len = strlen(str); + size_t len = strlen(str); return len > 0 && str[len-1] == c; } diff --git a/src/imap/imap-list.c b/src/imap/imap-list.c index 6b1577c0fb..57752b5cdf 100644 --- a/src/imap/imap-list.c +++ b/src/imap/imap-list.c @@ -6,7 +6,7 @@ bool imap_mailbox_flags2str(string_t *str, enum mailbox_info_flags flags) { - unsigned int orig_len = str_len(str); + size_t orig_len = str_len(str); if ((flags & MAILBOX_SUBSCRIBED) != 0) str_append(str, "\\Subscribed "); diff --git a/src/imap/imap-notify.c b/src/imap/imap-notify.c index f13bd8aa77..1fc16729df 100644 --- a/src/imap/imap-notify.c +++ b/src/imap/imap-notify.c @@ -190,7 +190,7 @@ bool imap_notify_match_mailbox(struct imap_notify_namespace *notify_ns, { struct mailbox *box; const char *const *namep; - unsigned int name_len; + size_t name_len; char ns_sep; bool ret; diff --git a/src/imap/imap-status.c b/src/imap/imap-status.c index 125293956f..43037e2f2d 100644 --- a/src/imap/imap-status.c +++ b/src/imap/imap-status.c @@ -103,7 +103,7 @@ int imap_status_send(struct client *client, const char *mailbox_mutf7, { const struct mailbox_status *status = &result->status; string_t *str; - unsigned int prefix_len; + size_t prefix_len; str = t_str_new(128); str_append(str, "* STATUS "); diff --git a/src/imap/main.c b/src/imap/main.c index 8384a419e6..65e173cc10 100644 --- a/src/imap/main.c +++ b/src/imap/main.c @@ -134,15 +134,15 @@ struct client_input { const char *tag; const unsigned char *input; - unsigned int input_size; + size_t input_size; bool send_untagged_capability; }; static void -client_parse_input(const unsigned char *data, unsigned int len, +client_parse_input(const unsigned char *data, size_t len, struct client_input *input_r) { - unsigned int taglen; + size_t taglen; i_assert(len > 0); diff --git a/src/ipc/main.c b/src/ipc/main.c index 0387a4eee1..8fe8848cd3 100644 --- a/src/ipc/main.c +++ b/src/ipc/main.c @@ -10,7 +10,7 @@ static bool ipc_socket_is_client(const char *name) { - unsigned int len; + size_t len; if (strcmp(name, "ipc") == 0) return TRUE; diff --git a/src/lib-compression/compression.c b/src/lib-compression/compression.c index d9e9e0b33f..6346b2b367 100644 --- a/src/lib-compression/compression.c +++ b/src/lib-compression/compression.c @@ -106,7 +106,8 @@ compression_detect_handler(struct istream *input) const struct compression_handler * compression_lookup_handler_from_ext(const char *path) { - unsigned int i, len, path_len = strlen(path); + unsigned int i; + size_t len, path_len = strlen(path); for (i = 0; compression_handlers[i].name != NULL; i++) { if (compression_handlers[i].ext == NULL) diff --git a/src/lib-compression/ostream-bzlib.c b/src/lib-compression/ostream-bzlib.c index 8f11a6aaa5..fb0a16445c 100644 --- a/src/lib-compression/ostream-bzlib.c +++ b/src/lib-compression/ostream-bzlib.c @@ -99,7 +99,7 @@ o_stream_bzlib_send_chunk(struct bzlib_ostream *zstream, static int o_stream_bzlib_send_flush(struct bzlib_ostream *zstream) { bz_stream *zs = &zstream->zs; - unsigned int len; + size_t len; bool done = FALSE; int ret; diff --git a/src/lib-compression/ostream-lzma.c b/src/lib-compression/ostream-lzma.c index 9f25af5e20..6184186c73 100644 --- a/src/lib-compression/ostream-lzma.c +++ b/src/lib-compression/ostream-lzma.c @@ -105,7 +105,7 @@ o_stream_lzma_send_chunk(struct lzma_ostream *zstream, static int o_stream_lzma_send_flush(struct lzma_ostream *zstream) { lzma_stream *zs = &zstream->strm; - unsigned int len; + size_t len; bool done = FALSE; int ret; diff --git a/src/lib-compression/ostream-zlib.c b/src/lib-compression/ostream-zlib.c index 3c3ded2daf..8356d58f63 100644 --- a/src/lib-compression/ostream-zlib.c +++ b/src/lib-compression/ostream-zlib.c @@ -168,7 +168,7 @@ static int o_stream_zlib_send_flush(struct zlib_ostream *zstream, bool final) { z_stream *zs = &zstream->zs; - unsigned int len; + size_t len; bool done = FALSE; int ret, flush; diff --git a/src/lib-dict/dict-db.c b/src/lib-dict/dict-db.c index 541665b2b3..45eaf03e5c 100644 --- a/src/lib-dict/dict-db.c +++ b/src/lib-dict/dict-db.c @@ -25,7 +25,7 @@ struct db_dict_iterate_context { DBC *cursor; char *path; - unsigned int path_len; + size_t path_len; DBT pkey, pdata; diff --git a/src/lib-dict/dict-file.c b/src/lib-dict/dict-file.c index 6b4ce739c3..6598adefd3 100644 --- a/src/lib-dict/dict-file.c +++ b/src/lib-dict/dict-file.c @@ -35,7 +35,7 @@ struct file_dict { struct file_dict_iterate_path { const char *path; - unsigned int len; + size_t len; }; struct file_dict_iterate_context { @@ -315,7 +315,7 @@ static void file_dict_apply_changes(struct dict_transaction_memory_context *ctx, char *key, *value, *old_value; char *orig_key, *orig_value; const struct dict_transaction_memory_change *change; - unsigned int new_len; + size_t new_len; long long diff; array_foreach(&ctx->changes, change) { diff --git a/src/lib-dict/dict-memcached.c b/src/lib-dict/dict-memcached.c index 7e46187927..7480bdfcc1 100644 --- a/src/lib-dict/dict-memcached.c +++ b/src/lib-dict/dict-memcached.c @@ -38,7 +38,7 @@ struct memcached_connection { buffer_t *cmd; struct { const unsigned char *value; - unsigned int value_len; + size_t value_len; enum memcached_response status; bool reply_received; } reply; @@ -278,7 +278,7 @@ memcached_dict_lookup(struct dict *_dict, pool_t pool, const char *key, struct memcached_dict *dict = (struct memcached_dict *)_dict; struct ioloop *prev_ioloop = current_ioloop; struct timeout *to; - unsigned int key_len; + size_t key_len; if (strncmp(key, DICT_PATH_SHARED, strlen(DICT_PATH_SHARED)) == 0) key += strlen(DICT_PATH_SHARED); @@ -291,7 +291,7 @@ memcached_dict_lookup(struct dict *_dict, pool_t pool, const char *key, key_len = strlen(key); if (key_len > 0xffff) { *error_r = t_strdup_printf( - "memcached: Key is too long (%u bytes): %s", key_len, key); + "memcached: Key is too long (%"PRIuSIZE_T" bytes): %s", key_len, key); return -1; } diff --git a/src/lib-dict/dict-sql-settings.c b/src/lib-dict/dict-sql-settings.c index 25e08bbf55..1c4dd82b2f 100644 --- a/src/lib-dict/dict-sql-settings.c +++ b/src/lib-dict/dict-sql-settings.c @@ -167,7 +167,7 @@ parse_setting(const char *key, const char *value, struct setting_parser_ctx *ctx) { struct dict_sql_map_field *field; - unsigned int value_len; + size_t value_len; switch (ctx->type) { case SECTION_ROOT: diff --git a/src/lib-dict/dict-sql.c b/src/lib-dict/dict-sql.c index 3f5436a879..56713d558d 100644 --- a/src/lib-dict/dict-sql.c +++ b/src/lib-dict/dict-sql.c @@ -43,8 +43,8 @@ struct sql_dict_iterate_context { struct sql_result *result; string_t *key; const struct dict_sql_map *map; - unsigned int key_prefix_len, pattern_prefix_len, next_map_idx; - unsigned int path_idx, sql_fields_start_idx; + size_t key_prefix_len, pattern_prefix_len; + unsigned int path_idx, sql_fields_start_idx, next_map_idx; bool synchronous_result; bool iter_query_sent; const char *error; @@ -119,12 +119,12 @@ static void sql_dict_wait(struct dict *dict ATTR_UNUSED) static bool dict_sql_map_match(const struct dict_sql_map *map, const char *path, - ARRAY_TYPE(const_string) *values, unsigned int *pat_len_r, - unsigned int *path_len_r, bool partial_ok, bool recurse) + ARRAY_TYPE(const_string) *values, size_t *pat_len_r, + size_t *path_len_r, bool partial_ok, bool recurse) { const char *path_start = path; const char *pat, *field, *p; - unsigned int len; + size_t len; array_clear(values); pat = map->pattern; @@ -200,7 +200,8 @@ sql_dict_find_map(struct sql_dict *dict, const char *path, ARRAY_TYPE(const_string) *values) { const struct dict_sql_map *maps; - unsigned int i, count, len; + unsigned int i, count; + size_t len; t_array_init(values, dict->set->max_field_count); maps = array_get(&dict->set->maps, &count); @@ -511,7 +512,8 @@ sql_dict_iterate_find_next_map(struct sql_dict_iterate_context *ctx, { struct sql_dict *dict = (struct sql_dict *)ctx->ctx.dict; const struct dict_sql_map *maps; - unsigned int i, count, pat_len, path_len; + unsigned int i, count; + size_t pat_len, path_len; bool recurse = (ctx->flags & DICT_ITERATE_FLAG_RECURSE) != 0; t_array_init(values, dict->set->max_field_count); diff --git a/src/lib-fs/fs-dict.c b/src/lib-fs/fs-dict.c index 4aa8ea2a07..7d68dde21d 100644 --- a/src/lib-fs/fs-dict.c +++ b/src/lib-fs/fs-dict.c @@ -225,7 +225,7 @@ static int fs_dict_write_stream_finish(struct fs_file *_file, bool success) break; } case FS_DICT_VALUE_ENCODING_BASE64: { - const unsigned int base64_size = + const size_t base64_size = MAX_BASE64_ENCODED_SIZE(file->write_buffer->used); string_t *base64 = t_str_new(base64_size); base64_encode(file->write_buffer->data, diff --git a/src/lib-fs/fs-posix.c b/src/lib-fs/fs-posix.c index 61b7c6b6bb..da41611672 100644 --- a/src/lib-fs/fs-posix.c +++ b/src/lib-fs/fs-posix.c @@ -31,7 +31,7 @@ enum fs_posix_lock_method { struct posix_fs { struct fs fs; char *temp_file_prefix, *root_path, *path_prefix; - unsigned int temp_file_prefix_len; + size_t temp_file_prefix_len; enum fs_posix_lock_method lock_method; mode_t mode; bool mode_auto; diff --git a/src/lib-fs/fs-test.c b/src/lib-fs/fs-test.c index cf912b0b9c..ea73cc84e3 100644 --- a/src/lib-fs/fs-test.c +++ b/src/lib-fs/fs-test.c @@ -321,7 +321,8 @@ static const char *fs_test_iter_next(struct fs_iter *_iter) struct test_fs_iter *iter = (struct test_fs_iter *)_iter; struct test_fs *fs = (struct test_fs *)_iter->fs; const char *const *files, *p; - unsigned int count, len, prev_dir_len = strlen(iter->prev_dir); + unsigned int count; + size_t len, prev_dir_len = strlen(iter->prev_dir); files = array_get(&fs->iter_files, &count); for (; iter->idx < count; iter->idx++) { diff --git a/src/lib-fts/fts-filter-english-possessive.c b/src/lib-fts/fts-filter-english-possessive.c index d04d03830f..6245000500 100644 --- a/src/lib-fts/fts-filter-english-possessive.c +++ b/src/lib-fts/fts-filter-english-possessive.c @@ -5,7 +5,7 @@ #include "fts-common.h" #include "fts-filter-private.h" -static unichar_t get_ending_utf8_char(const char *str, unsigned int *end_pos) +static unichar_t get_ending_utf8_char(const char *str, size_t *end_pos) { unichar_t c; @@ -23,7 +23,7 @@ fts_filter_english_possessive_filter(struct fts_filter *filter ATTR_UNUSED, const char **token, const char **error_r ATTR_UNUSED) { - unsigned int len = strlen(*token); + size_t len = strlen(*token); unichar_t c; if (len > 1 && ((*token)[len-1] == 's' || (*token)[len-1] == 'S')) { diff --git a/src/lib-fts/fts-icu.c b/src/lib-fts/fts-icu.c index 80580ef62b..327e9e2993 100644 --- a/src/lib-fts/fts-icu.c +++ b/src/lib-fts/fts-icu.c @@ -30,7 +30,7 @@ static struct UCaseMap *fts_icu_csm(void) void fts_icu_utf8_to_utf16(buffer_t *dest_utf16, const char *src_utf8) { UErrorCode err = U_ZERO_ERROR; - unsigned int src_bytes = strlen(src_utf8); + size_t src_bytes = strlen(src_utf8); int32_t utf16_len; UChar *dest_data, *retp = NULL; int32_t avail_uchars = 0; diff --git a/src/lib-fts/fts-tokenizer-address.c b/src/lib-fts/fts-tokenizer-address.c index 125a612ae6..c6eaece864 100644 --- a/src/lib-fts/fts-tokenizer-address.c +++ b/src/lib-fts/fts-tokenizer-address.c @@ -112,7 +112,7 @@ fts_tokenizer_address_parent_data(struct email_address_fts_tokenizer *tok, /* we're searching and we want to find only the full user@domain (not "user" and "domain"). we'll do this by not feeding the last user@domain to parent tokenizer. */ - unsigned int parent_prefix_len = + size_t parent_prefix_len = str_len(tok->parent_data) - str_len(tok->last_word); i_assert(str_len(tok->parent_data) >= str_len(tok->last_word) && strcmp(str_c(tok->parent_data) + parent_prefix_len, diff --git a/src/lib-fts/test-fts-tokenizer.c b/src/lib-fts/test-fts-tokenizer.c index 224f250ad7..467dac0973 100644 --- a/src/lib-fts/test-fts-tokenizer.c +++ b/src/lib-fts/test-fts-tokenizer.c @@ -80,7 +80,8 @@ test_tokenizer_inputoutput(struct fts_tokenizer *tok, const char *_input, { const unsigned char *input = (const unsigned char *)_input; const char *token, *error; - unsigned int i, outi, max, char_len, input_len = strlen(_input); + unsigned int i, outi, max, char_len; + size_t input_len = strlen(_input); /* test all input at once */ outi = first_outi; diff --git a/src/lib-http/http-client-request.c b/src/lib-http/http-client-request.c index 15f9bb6a86..9767f5d0c6 100644 --- a/src/lib-http/http-client-request.c +++ b/src/lib-http/http-client-request.c @@ -348,7 +348,7 @@ void http_client_request_remove_header(struct http_client_request *req, { const unsigned char *data, *p; size_t size, line_len, line_start_pos; - unsigned int key_len = strlen(key); + size_t key_len = strlen(key); i_assert(req->state == HTTP_REQUEST_STATE_NEW || /* allow calling for retries */ diff --git a/src/lib-imap-client/imapc-connection.c b/src/lib-imap-client/imapc-connection.c index daa7da6396..0f4e249e10 100644 --- a/src/lib-imap-client/imapc-connection.c +++ b/src/lib-imap-client/imapc-connection.c @@ -806,7 +806,7 @@ imapc_connection_authenticate_cb(const struct imapc_command_reply *reply, struct imapc_connection *conn = context; const unsigned char *sasl_output; unsigned int sasl_output_len; - unsigned int input_len; + size_t input_len; buffer_t *buf; const char *error; @@ -1980,7 +1980,8 @@ static void imapc_command_send_more(struct imapc_connection *conn) struct imapc_command *const *cmds, *cmd; struct imapc_command_reply reply; const unsigned char *p, *data; - unsigned int count, seek_pos, start_pos, end_pos, size; + unsigned int count, size; + size_t seek_pos, start_pos, end_pos; int ret; if (imapc_connection_is_throttled(conn)) @@ -2175,7 +2176,7 @@ bool imapc_command_connection_is_selected(struct imapc_command *cmd) void imapc_command_send(struct imapc_command *cmd, const char *cmd_str) { - unsigned int len = strlen(cmd_str); + size_t len = strlen(cmd_str); cmd->data = str_new(cmd->pool, 6 + len + 2); str_printfa(cmd->data, "%u %s\r\n", cmd->tag, cmd_str); diff --git a/src/lib-imap/imap-match.c b/src/lib-imap/imap-match.c index 46551e7064..0c445f11db 100644 --- a/src/lib-imap/imap-match.c +++ b/src/lib-imap/imap-match.c @@ -114,7 +114,8 @@ imap_match_init_multiple_real(pool_t pool, const char *const *patterns, { struct imap_match_glob *glob; struct imap_match_pattern *match_patterns; - unsigned int i, len, pos, patterns_count, patterns_data_len = 0; + unsigned int i, patterns_count; + size_t len, pos, patterns_data_len = 0; patterns_count = str_array_length(patterns); match_patterns = p_new(pool, struct imap_match_pattern, diff --git a/src/lib-imap/imap-parser.c b/src/lib-imap/imap-parser.c index 6fb21f366a..82b5adafee 100644 --- a/src/lib-imap/imap-parser.c +++ b/src/lib-imap/imap-parser.c @@ -542,7 +542,7 @@ static bool imap_parser_is_next_resp_text(struct imap_parser *parser) static bool imap_parser_is_next_text(struct imap_parser *parser) { const struct imap_arg *arg; - unsigned int len; + size_t len; if (parser->cur_list != &parser->root_list) return FALSE; diff --git a/src/lib-imap/imap-quote.c b/src/lib-imap/imap-quote.c index a9eddee245..aaf48cf12c 100644 --- a/src/lib-imap/imap-quote.c +++ b/src/lib-imap/imap-quote.c @@ -44,15 +44,16 @@ void imap_append_astring(string_t *dest, const char *src) static void imap_append_literal(string_t *dest, const char *src, unsigned int pos) { - unsigned int full_len = pos + strlen(src+pos); + size_t full_len = pos + strlen(src+pos); - str_printfa(dest, "{%u}\r\n", full_len); + str_printfa(dest, "{%"PRIuSIZE_T"}\r\n", full_len); buffer_append(dest, src, full_len); } void imap_append_nstring(string_t *dest, const char *src) { - unsigned int i, escape_count = 0; + unsigned int escape_count = 0; + size_t i; if (src == NULL) { str_append(dest, "NIL"); diff --git a/src/lib-imap/imap-utf7.c b/src/lib-imap/imap-utf7.c index 86fc1d2123..1a5504a7ec 100644 --- a/src/lib-imap/imap-utf7.c +++ b/src/lib-imap/imap-utf7.c @@ -29,7 +29,7 @@ static const unsigned char imap_b64dec[256] = { }; static void -mbase64_encode(string_t *dest, const unsigned char *in, unsigned int len) +mbase64_encode(string_t *dest, const unsigned char *in, size_t len) { str_append_c(dest, '&'); while (len >= 3) { diff --git a/src/lib-lda/lmtp-client.c b/src/lib-lda/lmtp-client.c index ea9bed03cb..285ff0f927 100644 --- a/src/lib-lda/lmtp-client.c +++ b/src/lib-lda/lmtp-client.c @@ -460,7 +460,7 @@ lmtp_client_parse_capabilities(struct lmtp_client *client, const char *lines) static bool lmtp_client_send_xclient(struct lmtp_client *client) { string_t *str; - unsigned int empty_len; + size_t empty_len; if (client->xclient_args == NULL) { /* not supported */ diff --git a/src/lib-mail/istream-binary-converter.c b/src/lib-mail/istream-binary-converter.c index 66b0684a6d..0a1b78ffa4 100644 --- a/src/lib-mail/istream-binary-converter.c +++ b/src/lib-mail/istream-binary-converter.c @@ -23,7 +23,7 @@ struct binary_converter_istream { unsigned int base64_block_pos; buffer_t *hdr_buf; - unsigned int cte_header_len; + size_t cte_header_len; bool content_type_seen:1; }; diff --git a/src/lib-mail/message-decoder.c b/src/lib-mail/message-decoder.c index 9c0788f137..0909d7c823 100644 --- a/src/lib-mail/message-decoder.c +++ b/src/lib-mail/message-decoder.c @@ -27,7 +27,7 @@ struct message_decoder_context { char *charset_trans_charset; struct charset_translation *charset_trans; char translation_buf[CHARSET_MAX_PENDING_BUF_SIZE]; - unsigned int translation_size; + size_t translation_size; struct qp_decoder *qp; buffer_t *encoding_buf; @@ -201,7 +201,7 @@ static void translation_buf_decode(struct message_decoder_context *ctx, const unsigned char **data, size_t *size) { unsigned char trans_buf[CHARSET_MAX_PENDING_BUF_SIZE+1]; - unsigned int data_wanted, skip; + size_t data_wanted, skip; size_t trans_size, orig_size; /* @UNSAFE: move the previously untranslated bytes to trans_buf diff --git a/src/lib-mail/message-header-decode.c b/src/lib-mail/message-header-decode.c index 7d11154207..469629799f 100644 --- a/src/lib-mail/message-header-decode.c +++ b/src/lib-mail/message-header-decode.c @@ -10,7 +10,7 @@ static size_t message_header_decode_encoded(const unsigned char *data, size_t size, - buffer_t *decodebuf, unsigned int *charsetlen_r) + buffer_t *decodebuf, size_t *charsetlen_r) { #define QCOUNT 3 unsigned int num = 0; @@ -58,9 +58,9 @@ message_header_decode_encoded(const unsigned char *data, size_t size, return start_pos[2] + 2; } -static bool is_only_lwsp(const unsigned char *data, unsigned int size) +static bool is_only_lwsp(const unsigned char *data, size_t size) { - unsigned int i; + size_t i; for (i = 0; i < size; i++) { if (!(data[i] == ' ' || data[i] == '\t' || @@ -75,7 +75,7 @@ void message_header_decode(const unsigned char *data, size_t size, void *context) { buffer_t *decodebuf = NULL; - unsigned int charsetlen = 0; + size_t charsetlen = 0; size_t pos, start_pos, ret; /* =?charset?Q|B?text?= */ diff --git a/src/lib-mail/test-istream-attachment.c b/src/lib-mail/test-istream-attachment.c index 7b6403fa0a..b8f0173880 100644 --- a/src/lib-mail/test-istream-attachment.c +++ b/src/lib-mail/test-istream-attachment.c @@ -326,7 +326,7 @@ static void test_istream_attachment(void) static bool test_istream_attachment_extractor_one(const char *body) { - const unsigned int prefix_len = strlen(mail_broken_input_body_prefix); + const size_t prefix_len = strlen(mail_broken_input_body_prefix); struct istream_attachment_settings set; struct istream *datainput, *input; char *mail_text; diff --git a/src/lib-mail/test-istream-dot.c b/src/lib-mail/test-istream-dot.c index a71fefd3bc..749bf6eb1d 100644 --- a/src/lib-mail/test-istream-dot.c +++ b/src/lib-mail/test-istream-dot.c @@ -18,7 +18,8 @@ static void test_istream_dot_one(const struct dot_test *test, struct istream *test_input, *input; const unsigned char *data; size_t size; - unsigned int i, outsize, input_len, output_len; + unsigned int i; + size_t outsize, input_len, output_len; string_t *str; uoff_t offset; int ret; @@ -111,7 +112,8 @@ static void test_istream_dot_one(const struct dot_test *test, static void test_istream_dot_error(const char *input_str, bool test_bufsize) { struct istream *test_input, *input; - unsigned int i, outsize, input_len; + unsigned int i; + size_t outsize, input_len; uoff_t offset; int ret; diff --git a/src/lib-mail/test-istream-header-filter.c b/src/lib-mail/test-istream-header-filter.c index b9bd318ab1..9d3a58d38b 100644 --- a/src/lib-mail/test-istream-header-filter.c +++ b/src/lib-mail/test-istream-header-filter.c @@ -32,7 +32,8 @@ test_istream_run(struct istream *test_istream, { struct run_ctx run_ctx = { .callback = callback, .null_hdr_seen = FALSE }; struct istream *filter; - unsigned int i, output_len = strlen(output); + unsigned int i; + size_t output_len = strlen(output); const struct stat *st; const unsigned char *data; size_t size; @@ -85,8 +86,9 @@ static void test_istream_filter(void) const char *input = "From: foo\nFrom: abc\nTo: bar\nSubject: plop\nX-Drop: 1\n\nhello world\n"; const char *output = "From: abc\n\nhello world\n"; struct istream *istream, *filter, *filter2; - unsigned int i, input_len = strlen(input); - unsigned int output_len = strlen(output); + unsigned int i; + size_t input_len = strlen(input); + size_t output_len = strlen(output); const unsigned char *data; const struct stat *st; size_t size; @@ -388,8 +390,9 @@ static void test_istream_end_body_with_lf(void) const char *output = "From: foo\n\nhello world\n"; const struct stat *st; struct istream *istream, *filter; - unsigned int i, input_len = strlen(input); - unsigned int output_len = strlen(output); + unsigned int i; + size_t input_len = strlen(input); + size_t output_len = strlen(output); const unsigned char *data; string_t *str = t_str_new(64); size_t size; diff --git a/src/lib-mail/test-istream-qp-decoder.c b/src/lib-mail/test-istream-qp-decoder.c index 985b9c0a38..de64f851b2 100644 --- a/src/lib-mail/test-istream-qp-decoder.c +++ b/src/lib-mail/test-istream-qp-decoder.c @@ -25,7 +25,7 @@ static void decode_test(const char *qp_input, const char *output, bool broken_input, unsigned int buffer_size) { - unsigned int qp_input_len = strlen(qp_input); + size_t qp_input_len = strlen(qp_input); struct istream *input_data, *input; const unsigned char *data; size_t i, size; diff --git a/src/lib-mail/test-mbox-from.c b/src/lib-mail/test-mbox-from.c index 940e86dedd..6365216813 100644 --- a/src/lib-mail/test-mbox-from.c +++ b/src/lib-mail/test-mbox-from.c @@ -50,7 +50,8 @@ static void test_mbox_from_parse(void) { 0, 0, NULL, -1 }, { 0, 0, NULL, -1 }, }; - unsigned int i, j, len; + unsigned int i, j; + size_t len; struct tm *tm; char *sender; bool success; diff --git a/src/lib-mail/test-message-header-parser.c b/src/lib-mail/test-message-header-parser.c index 6cafa86bce..e74741493a 100644 --- a/src/lib-mail/test-message-header-parser.c +++ b/src/lib-mail/test-message-header-parser.c @@ -203,7 +203,8 @@ test_message_header_parser_long_lines_str(const char *str, struct message_header_parser_ctx *parser; struct message_header_line *hdr; struct istream *input; - unsigned int i, len = strlen(str); + unsigned int i; + size_t len = strlen(str); input = test_istream_create(str); test_istream_set_max_buffer_size(input, buffer_size); @@ -222,7 +223,7 @@ static void test_message_header_parser_long_lines(void) static const char *lf_str = "1234567890: 345\n\n"; static const char *crlf_str = "1234567890: 345\r\n\r\n"; struct message_size hdr_size; - unsigned int i, len; + size_t i, len; test_begin("message header parser long lines"); len = strlen(lf_str); diff --git a/src/lib-master/master-login.c b/src/lib-master/master-login.c index f78b5e6215..4056c99099 100644 --- a/src/lib-master/master-login.c +++ b/src/lib-master/master-login.c @@ -240,7 +240,7 @@ static void master_login_postlogin_input(struct master_login_postlogin *pl) struct master_login *login = pl->client->conn->login; char buf[1024]; const char *const *auth_args; - unsigned int len; + size_t len; ssize_t ret; int fd = -1; @@ -393,7 +393,7 @@ static void master_login_conn_input(struct master_login_connection *conn) struct master_login_client *client; struct master_login *login = conn->login; unsigned char data[MASTER_AUTH_MAX_DATA_SIZE]; - unsigned int i, session_len = 0; + size_t i, session_len = 0; int ret, client_fd; ret = master_login_conn_read_request(conn, &req, data, &client_fd); diff --git a/src/lib-master/master-service.c b/src/lib-master/master-service.c index 9294f059f3..af48f2c9c0 100644 --- a/src/lib-master/master-service.c +++ b/src/lib-master/master-service.c @@ -1126,7 +1126,7 @@ bool version_string_verify_full(const char *line, const char *service_name, unsigned major_version, unsigned int *minor_version_r) { - unsigned int service_name_len = strlen(service_name); + size_t service_name_len = strlen(service_name); bool ret; if (strncmp(line, "VERSION\t", 8) != 0) diff --git a/src/lib-storage/index/cydir/cydir-save.c b/src/lib-storage/index/cydir/cydir-save.c index dd5e5ce6c2..3c5fe65d6a 100644 --- a/src/lib-storage/index/cydir/cydir-save.c +++ b/src/lib-storage/index/cydir/cydir-save.c @@ -237,7 +237,8 @@ int cydir_transaction_save_commit_pre(struct mail_save_context *_ctx) uint32_t uid; const char *dir; string_t *src_path, *dest_path; - unsigned int n, src_prefixlen, dest_prefixlen; + unsigned int n; + size_t src_prefixlen, dest_prefixlen; i_assert(ctx->finished); diff --git a/src/lib-storage/index/cydir/cydir-sync.h b/src/lib-storage/index/cydir/cydir-sync.h index 71d5c6db3d..3173bad5bc 100644 --- a/src/lib-storage/index/cydir/cydir-sync.h +++ b/src/lib-storage/index/cydir/cydir-sync.h @@ -10,7 +10,7 @@ struct cydir_sync_context { struct mail_index_transaction *trans; string_t *path; - unsigned int path_dir_prefix_len; + size_t path_dir_prefix_len; uint32_t uid_validity; }; diff --git a/src/lib-storage/index/dbox-common/dbox-file-fix.c b/src/lib-storage/index/dbox-common/dbox-file-fix.c index 49bc44511d..6e95954a0e 100644 --- a/src/lib-storage/index/dbox-common/dbox-file-fix.c +++ b/src/lib-storage/index/dbox-common/dbox-file-fix.c @@ -261,7 +261,7 @@ stream_copy(struct dbox_file *file, struct ostream *output, static void dbox_file_skip_broken_header(struct dbox_file *file) { - const unsigned int magic_len = strlen(DBOX_MAGIC_PRE); + const size_t magic_len = strlen(DBOX_MAGIC_PRE); const unsigned char *data; size_t i, size; diff --git a/src/lib-storage/index/dbox-multi/mdbox-map.c b/src/lib-storage/index/dbox-multi/mdbox-map.c index 6c602c3290..9a3a686a70 100644 --- a/src/lib-storage/index/dbox-multi/mdbox-map.c +++ b/src/lib-storage/index/dbox-multi/mdbox-map.c @@ -1191,7 +1191,7 @@ void mdbox_map_append_abort(struct mdbox_map_append_context *ctx) static int mdbox_find_highest_file_id(struct mdbox_map *map, uint32_t *file_id_r) { - const unsigned int prefix_len = strlen(MDBOX_MAIL_FILE_PREFIX); + const size_t prefix_len = strlen(MDBOX_MAIL_FILE_PREFIX); DIR *dir; struct dirent *d; unsigned int id, highest_id = 0; diff --git a/src/lib-storage/index/dbox-multi/mdbox-purge.c b/src/lib-storage/index/dbox-multi/mdbox-purge.c index 5fe96b07ce..e0125a7454 100644 --- a/src/lib-storage/index/dbox-multi/mdbox-purge.c +++ b/src/lib-storage/index/dbox-multi/mdbox-purge.c @@ -498,7 +498,8 @@ static int mdbox_purge_get_primary_files(struct mdbox_purge_context *ctx) DIR *dir; struct dirent *d; string_t *path; - unsigned int file_id, dir_len; + unsigned int file_id; + size_t dir_len; int ret = 0; if (!array_is_created(&dstorage->move_to_alt_map_uids) && diff --git a/src/lib-storage/index/imapc/imapc-list.c b/src/lib-storage/index/imapc/imapc-list.c index ff28d806ac..a34f87d538 100644 --- a/src/lib-storage/index/imapc/imapc-list.c +++ b/src/lib-storage/index/imapc/imapc-list.c @@ -357,7 +357,7 @@ imapc_list_get_vname(struct mailbox_list *_list, const char *storage_name) { struct imapc_mailbox_list *list = (struct imapc_mailbox_list *)_list; const char *prefix = list->set->imapc_list_prefix; - unsigned int prefix_len; + size_t prefix_len; if (*storage_name == '\0') { /* ACL plugin does these lookups */ @@ -419,7 +419,7 @@ imapc_list_get_fs_name(struct imapc_mailbox_list *list, const char *name) vname = mailbox_list_get_vname(&list->list, name); if (list->set->imapc_list_prefix[0] != '\0') { /* put back the prefix, so it gets included in the filesystem. */ - unsigned int vname_len = strlen(vname); + size_t vname_len = strlen(vname); if (ns->prefix_len > 0) { /* skip over the namespace prefix */ @@ -499,7 +499,7 @@ static void imapc_list_delete_unused_indexes(struct imapc_mailbox_list *list) struct mailbox_list_iterate_context *iter; const struct mailbox_info *info; const char *imapc_list_prefix = list->set->imapc_list_prefix; - unsigned int imapc_list_prefix_len = strlen(imapc_list_prefix); + size_t imapc_list_prefix_len = strlen(imapc_list_prefix); const char *fs_name, *vname; if (fs_list == NULL) diff --git a/src/lib-storage/index/imapc/imapc-search.c b/src/lib-storage/index/imapc/imapc-search.c index 4dc9544acd..c778eee064 100644 --- a/src/lib-storage/index/imapc/imapc-search.c +++ b/src/lib-storage/index/imapc/imapc-search.c @@ -102,7 +102,7 @@ imapc_build_search_query_arg(struct imapc_mailbox *mbox, case SEARCH_SINCE: if ((capa & IMAPC_CAPABILITY_WITHIN) == 0) { /* a bit kludgy way to check this.. */ - unsigned int pos = str_len(str); + size_t pos = str_len(str); if (!mail_search_arg_to_imap(str, arg, &error)) return FALSE; if (strncasecmp(str_c(str) + pos, "OLDER", 5) == 0 || diff --git a/src/lib-storage/index/imapc/imapc-storage.c b/src/lib-storage/index/imapc/imapc-storage.c index d63db3f380..62c03c0f0e 100644 --- a/src/lib-storage/index/imapc/imapc-storage.c +++ b/src/lib-storage/index/imapc/imapc-storage.c @@ -960,7 +960,7 @@ static const struct imapc_namespace * imapc_namespace_find_mailbox(struct imapc_storage *storage, const char *name) { const struct imapc_namespace *ns, *best_ns = NULL; - unsigned int best_len = UINT_MAX, len; + size_t best_len = UINT_MAX, len; array_foreach(&storage->remote_namespaces, ns) { len = strlen(ns->prefix); diff --git a/src/lib-storage/index/index-attribute.c b/src/lib-storage/index/index-attribute.c index f7f6586411..da84463cae 100644 --- a/src/lib-storage/index/index-attribute.c +++ b/src/lib-storage/index/index-attribute.c @@ -9,7 +9,7 @@ struct index_storage_attribute_iter { struct mailbox_attribute_iter iter; struct dict_iterate_context *diter; char *prefix; - unsigned int prefix_len; + size_t prefix_len; bool dict_disabled; }; diff --git a/src/lib-storage/index/index-mail-headers.c b/src/lib-storage/index/index-mail-headers.c index 54e34b016e..cc0a415c0c 100644 --- a/src/lib-storage/index/index-mail-headers.c +++ b/src/lib-storage/index/index-mail-headers.c @@ -729,7 +729,7 @@ static int unfold_header(pool_t pool, const char **_str) static void str_replace_nuls(string_t *str) { char *data = str_c_modifiable(str); - unsigned int i, len = str_len(str); + size_t i, len = str_len(str); for (i = 0; i < len; i++) { if (data[i] == '\0') diff --git a/src/lib-storage/index/index-search.c b/src/lib-storage/index/index-search.c index 640bb5d4eb..e88fad80f9 100644 --- a/src/lib-storage/index/index-search.c +++ b/src/lib-storage/index/index-search.c @@ -446,9 +446,9 @@ msg_search_arg_context(struct index_search_context *ctx, } static void compress_lwsp(string_t *dest, const unsigned char *src, - unsigned int src_len) + size_t src_len) { - unsigned int i; + size_t i; bool prev_lwsp = TRUE; for (i = 0; i < src_len; i++) { diff --git a/src/lib-storage/index/index-sort.c b/src/lib-storage/index/index-sort.c index dc4b714481..bded618650 100644 --- a/src/lib-storage/index/index-sort.c +++ b/src/lib-storage/index/index-sort.c @@ -388,7 +388,7 @@ get_display_name(struct mail *mail, const char *header, const char **name_r) if (addr->name != NULL) { string_t *str; - unsigned int len = strlen(addr->name); + size_t len = strlen(addr->name); str = t_str_new(len*2); (void)message_header_decode_utf8( diff --git a/src/lib-storage/index/maildir/maildir-filename-flags.c b/src/lib-storage/index/maildir/maildir-filename-flags.c index d7b3909983..7d7575bbc5 100644 --- a/src/lib-storage/index/maildir/maildir-filename-flags.c +++ b/src/lib-storage/index/maildir/maildir-filename-flags.c @@ -73,7 +73,8 @@ maildir_filename_append_keywords(struct maildir_keywords_sync_ctx *ctx, string_t *fname) { const unsigned int *indexes; - unsigned int i, count, start = str_len(fname); + unsigned int i, count; + size_t start = str_len(fname); char chr; indexes = array_get(keywords, &count); diff --git a/src/lib-storage/index/maildir/maildir-save.c b/src/lib-storage/index/maildir/maildir-save.c index f5af9697b8..4b6816cd22 100644 --- a/src/lib-storage/index/maildir/maildir-save.c +++ b/src/lib-storage/index/maildir/maildir-save.c @@ -348,7 +348,7 @@ static int maildir_create_tmp(struct maildir_mailbox *mbox, const char *dir, { struct mailbox *box = &mbox->box; const struct mailbox_permissions *perm = mailbox_get_permissions(box); - unsigned int prefix_len; + size_t prefix_len; const char *tmp_fname; string_t *path; mode_t old_mask; diff --git a/src/lib-storage/index/maildir/maildir-uidlist.c b/src/lib-storage/index/maildir/maildir-uidlist.c index df132226b7..f429e907d8 100644 --- a/src/lib-storage/index/maildir/maildir-uidlist.c +++ b/src/lib-storage/index/maildir/maildir-uidlist.c @@ -1149,7 +1149,7 @@ maildir_uidlist_rec_set_ext(struct maildir_uidlist_rec *rec, pool_t pool, { const unsigned char *p; buffer_t *buf; - unsigned int len; + size_t len; /* copy existing extensions, except for the one we're updating */ buf = buffer_create_dynamic(pool_datastack_create(), 128); @@ -1250,7 +1250,7 @@ static int maildir_uidlist_write_fd(struct maildir_uidlist *uidlist, int fd, string_t *str; const unsigned char *p; const char *strp; - unsigned int len; + size_t len; i_assert(fd != -1); diff --git a/src/lib-storage/index/mbox/mbox-storage.c b/src/lib-storage/index/mbox/mbox-storage.c index 8df1e2f055..12fcc8b9f1 100644 --- a/src/lib-storage/index/mbox/mbox-storage.c +++ b/src/lib-storage/index/mbox/mbox-storage.c @@ -689,7 +689,7 @@ static bool mbox_is_internal_name(struct mailbox_list *list ATTR_UNUSED, const char *name) { - unsigned int len; + size_t len; /* don't allow *.lock files/dirs */ len = strlen(name); diff --git a/src/lib-storage/index/shared/shared-list.c b/src/lib-storage/index/shared/shared-list.c index 325e11420d..03371e0bab 100644 --- a/src/lib-storage/index/shared/shared-list.c +++ b/src/lib-storage/index/shared/shared-list.c @@ -91,7 +91,7 @@ shared_list_join_refpattern(struct mailbox_list *list, { struct mail_namespace *ns = list->ns; const char *ns_ref, *prefix = list->ns->prefix; - unsigned int prefix_len = strlen(prefix); + size_t prefix_len = strlen(prefix); if (*ref != '\0' && strncmp(ref, prefix, prefix_len) == 0) ns_ref = ref + prefix_len; diff --git a/src/lib-storage/list/mailbox-list-delete.c b/src/lib-storage/list/mailbox-list-delete.c index 7ef4a07f23..a177a0fa30 100644 --- a/src/lib-storage/list/mailbox-list-delete.c +++ b/src/lib-storage/list/mailbox-list-delete.c @@ -144,7 +144,7 @@ int mailbox_list_delete_mailbox_nonrecursive(struct mailbox_list *list, DIR *dir; struct dirent *d; string_t *full_path; - unsigned int dir_len; + size_t dir_len; const char *error; bool mailbox_dir, unlinked_something = FALSE; @@ -236,7 +236,7 @@ void mailbox_list_delete_until_root(struct mailbox_list *list, const char *path, enum mailbox_list_path_type type) { const char *root_dir, *p; - unsigned int len; + size_t len; root_dir = mailbox_list_get_root_forced(list, type); if (strncmp(path, root_dir, strlen(root_dir)) != 0) { diff --git a/src/lib-storage/list/mailbox-list-fs-iter.c b/src/lib-storage/list/mailbox-list-fs-iter.c index 57661e10b6..cd41d96d0c 100644 --- a/src/lib-storage/list/mailbox-list-fs-iter.c +++ b/src/lib-storage/list/mailbox-list-fs-iter.c @@ -338,7 +338,7 @@ fs_list_get_valid_patterns(struct fs_list_iterate_context *ctx, struct mailbox_list *_list = ctx->ctx.list; ARRAY(const char *) valid_patterns; const char *pattern, *test_pattern, *real_pattern, *error; - unsigned int prefix_len; + size_t prefix_len; prefix_len = strlen(_list->ns->prefix); p_array_init(&valid_patterns, ctx->ctx.pool, 8); @@ -378,7 +378,8 @@ static void fs_list_get_roots(struct fs_list_iterate_context *ctx) ctx->ctx.list->mail_set->mail_full_filesystem_access; const char *const *patterns, *pattern, *const *parentp, *const *childp; const char *p, *last, *root, *prefix_vname; - unsigned int i, parentlen; + unsigned int i; + size_t parentlen; i_assert(*ctx->valid_patterns != NULL); diff --git a/src/lib-storage/list/mailbox-list-index-backend.c b/src/lib-storage/list/mailbox-list-index-backend.c index cf8d7ccf17..757c1eb55b 100644 --- a/src/lib-storage/list/mailbox-list-index-backend.c +++ b/src/lib-storage/list/mailbox-list-index-backend.c @@ -530,8 +530,8 @@ static int index_list_mailbox_open(struct mailbox *box) /* Get the current mailbox name with \0 separators. */ char sep = mailbox_list_get_hierarchy_sep(box->list); char *box_zerosep_name = t_strdup_noconst(box->name); - unsigned int box_name_len = strlen(box_zerosep_name); - for (unsigned int i = 0; i < box_name_len; i++) { + size_t box_name_len = strlen(box_zerosep_name); + for (size_t i = 0; i < box_name_len; i++) { if (box_zerosep_name[i] == sep) box_zerosep_name[i] = '\0'; } @@ -697,7 +697,7 @@ index_list_rename_mailbox(struct mailbox_list *_oldlist, const char *oldname, struct mailbox_list *_newlist, const char *newname) { struct index_mailbox_list *list = (struct index_mailbox_list *)_oldlist; - const unsigned int oldname_len = strlen(oldname); + const size_t oldname_len = strlen(oldname); struct mailbox_list_index_sync_context *sync_ctx; struct mailbox_list_index_record oldrec, newrec; struct mailbox_list_index_node *oldnode, *newnode, *child; diff --git a/src/lib-storage/list/mailbox-list-index.h b/src/lib-storage/list/mailbox-list-index.h index 97655782b6..a46436b4c2 100644 --- a/src/lib-storage/list/mailbox-list-index.h +++ b/src/lib-storage/list/mailbox-list-index.h @@ -128,7 +128,7 @@ struct mailbox_list_index_iterate_context { struct mailbox_info info; pool_t info_pool; - unsigned int parent_len; + size_t parent_len; string_t *path; struct mailbox_list_index_node *next_node; diff --git a/src/lib-storage/list/mailbox-list-iter.c b/src/lib-storage/list/mailbox-list-iter.c index 2a7c4758eb..9063afb2ae 100644 --- a/src/lib-storage/list/mailbox-list-iter.c +++ b/src/lib-storage/list/mailbox-list-iter.c @@ -255,7 +255,7 @@ static bool ns_match_next(struct ns_list_iterate_context *ctx, struct imap_match_glob *glob; enum imap_match_result result; const char *prefix_without_sep; - unsigned int len; + size_t len; len = ns->prefix_len; if (len > 0 && ns->prefix[len-1] == mail_namespace_get_sep(ns)) @@ -375,7 +375,7 @@ ns_prefix_has_visible_child_namespace(struct ns_list_iterate_context *ctx, const char *prefix) { struct mail_namespace *ns; - unsigned int prefix_len = strlen(prefix); + size_t prefix_len = strlen(prefix); int ret; for (ns = ctx->namespaces; ns != NULL; ns = ns->next) { @@ -789,7 +789,8 @@ autocreate_box_match(const ARRAY_TYPE(mailbox_settings) *boxes, bool only_subscribed, unsigned int *idx_r) { struct mailbox_settings *const *sets; - unsigned int i, count, len, name_len = strlen(name); + unsigned int i, count; + size_t len, name_len = strlen(name); enum autocreate_match_result result = 0; char sep = mail_namespace_get_sep(ns); @@ -879,7 +880,7 @@ autocreate_iter_existing(struct mailbox_list_iterate_context *ctx) /* there are autocreate parent boxes. set their children flag states. */ struct autocreate_box *autobox; - unsigned int name_len; + size_t name_len; char sep = mail_namespace_get_sep(ctx->list->ns); array_foreach_modifiable(&actx->boxes, autobox) { diff --git a/src/lib-storage/list/mailbox-list-maildir-iter.c b/src/lib-storage/list/mailbox-list-maildir-iter.c index a9b671dfe9..55f3c99a17 100644 --- a/src/lib-storage/list/mailbox-list-maildir-iter.c +++ b/src/lib-storage/list/mailbox-list-maildir-iter.c @@ -51,7 +51,7 @@ maildir_fill_parents(struct maildir_list_iterate_context *ctx, struct mail_namespace *ns = ctx->ctx.list->ns; struct mailbox_node *node; const char *p; - unsigned int vname_len = strlen(vname); + size_t vname_len = strlen(vname); bool created; char ns_sep = mail_namespace_get_sep(ns); diff --git a/src/lib-storage/list/mailbox-list-maildir.c b/src/lib-storage/list/mailbox-list-maildir.c index e184c08d77..d164ebe092 100644 --- a/src/lib-storage/list/mailbox-list-maildir.c +++ b/src/lib-storage/list/mailbox-list-maildir.c @@ -307,7 +307,8 @@ maildir_rename_children(struct mailbox_list *oldlist, const char *oldname, ARRAY(const char *) names_arr; const char *pattern, *oldpath, *newpath, *old_childname, *new_childname; const char *const *names, *old_vname, *new_vname; - unsigned int i, count, old_vnamelen; + unsigned int i, count; + size_t old_vnamelen; pool_t pool; char old_ns_sep; int ret; diff --git a/src/lib-storage/list/mailbox-list-notify-tree.c b/src/lib-storage/list/mailbox-list-notify-tree.c index 8471b2fdda..b2791188a1 100644 --- a/src/lib-storage/list/mailbox-list-notify-tree.c +++ b/src/lib-storage/list/mailbox-list-notify-tree.c @@ -44,7 +44,7 @@ mailbox_list_notify_node_build(struct mailbox_list_notify_tree *tree, { struct mailbox_node *node; struct mailbox_notify_node *nnode; - unsigned int prefix_len; + size_t prefix_len; bool created; str_append(path, index_node->name); diff --git a/src/lib-storage/list/mailbox-list-subscriptions.c b/src/lib-storage/list/mailbox-list-subscriptions.c index 0b403fdb3a..03473bad83 100644 --- a/src/lib-storage/list/mailbox-list-subscriptions.c +++ b/src/lib-storage/list/mailbox-list-subscriptions.c @@ -28,7 +28,7 @@ mailbox_list_subscription_fill_one(struct mailbox_list *list, struct mail_namespace *namespaces = default_ns->user->namespaces; struct mailbox_node *node; const char *vname, *ns_name, *error; - unsigned int len; + size_t len; bool created; /* default_ns is whatever namespace we're currently listing. diff --git a/src/lib-storage/mail-namespace.c b/src/lib-storage/mail-namespace.c index 1eea385dda..2d3214b353 100644 --- a/src/lib-storage/mail-namespace.c +++ b/src/lib-storage/mail-namespace.c @@ -649,7 +649,7 @@ mail_namespace_find_mask(struct mail_namespace *namespaces, const char *box, { struct mail_namespace *ns = namespaces; struct mail_namespace *best = NULL; - unsigned int best_len = 0; + size_t best_len = 0; bool inbox; inbox = strncasecmp(box, "INBOX", 5) == 0; @@ -764,7 +764,7 @@ mail_namespace_find_prefix(struct mail_namespace *namespaces, const char *prefix) { struct mail_namespace *ns; - unsigned int len = strlen(prefix); + size_t len = strlen(prefix); for (ns = namespaces; ns != NULL; ns = ns->next) { if (ns->prefix_len == len && @@ -779,7 +779,7 @@ mail_namespace_find_prefix_nosep(struct mail_namespace *namespaces, const char *prefix) { struct mail_namespace *ns; - unsigned int len = strlen(prefix); + size_t len = strlen(prefix); for (ns = namespaces; ns != NULL; ns = ns->next) { if (ns->prefix_len == len + 1 && diff --git a/src/lib-storage/mail-storage-service.c b/src/lib-storage/mail-storage-service.c index fc003fea4d..32588f1c1c 100644 --- a/src/lib-storage/mail-storage-service.c +++ b/src/lib-storage/mail-storage-service.c @@ -138,7 +138,7 @@ static int set_line(struct mail_storage_service_ctx *ctx, struct setting_parser_context *set_parser = user->set_parser; bool mail_debug; const char *key, *orig_key, *append_value = NULL; - unsigned int len; + size_t len; int ret; mail_debug = mail_user_set_get_mail_debug(user->user_info, @@ -777,7 +777,8 @@ const char *mail_storage_service_fields_var_expand(const char *data, const char *const *fields) { const char *field_name = t_strcut(data, ':'); - unsigned int i, field_name_len; + unsigned int i; + size_t field_name_len; if (fields == NULL) return field_get_default(data); @@ -1139,7 +1140,7 @@ static const char * mail_storage_service_generate_session_id(pool_t pool, const char *prefix) { guid_128_t guid; - unsigned int prefix_len = prefix == NULL ? 0 : strlen(prefix); + size_t prefix_len = prefix == NULL ? 0 : strlen(prefix); string_t *str = str_new(pool, MAX_BASE64_ENCODED_SIZE(prefix_len + 1 + sizeof(guid))); if (prefix != NULL) @@ -1362,7 +1363,7 @@ mail_storage_service_next_real(struct mail_storage_service_ctx *ctx, { struct mail_storage_service_privileges priv; const char *error; - unsigned int len; + size_t len; bool disallow_root = (user->flags & MAIL_STORAGE_SERVICE_FLAG_DISALLOW_ROOT) != 0; bool temp_priv_drop = diff --git a/src/lib-storage/mail-storage.c b/src/lib-storage/mail-storage.c index d6a39941ad..d2e10a582e 100644 --- a/src/lib-storage/mail-storage.c +++ b/src/lib-storage/mail-storage.c @@ -1014,7 +1014,7 @@ int mailbox_verify_create_name(struct mailbox *box) static bool have_listable_namespace_prefix(struct mail_namespace *ns, const char *name) { - unsigned int name_len = strlen(name); + size_t name_len = strlen(name); for (; ns != NULL; ns = ns->next) { if ((ns->flags & (NAMESPACE_FLAG_LIST_PREFIX | diff --git a/src/lib-storage/mail-user.c b/src/lib-storage/mail-user.c index f3ddd772f8..c3339b31a2 100644 --- a/src/lib-storage/mail-user.c +++ b/src/lib-storage/mail-user.c @@ -524,7 +524,7 @@ mail_user_try_load_class_plugin(struct mail_user *user, const char *name) { struct module_dir_load_settings mod_set; struct module *module; - unsigned int name_len = strlen(name); + size_t name_len = strlen(name); memset(&mod_set, 0, sizeof(mod_set)); mod_set.abi_version = DOVECOT_ABI_VERSION; diff --git a/src/lib-storage/mailbox-list.c b/src/lib-storage/mailbox-list.c index 27928f93cd..ad1a5ac2cf 100644 --- a/src/lib-storage/mailbox-list.c +++ b/src/lib-storage/mailbox-list.c @@ -407,7 +407,7 @@ const char *mailbox_list_get_unexpanded_path(struct mailbox_list *list, static bool need_escape_dirstart(const char *vname, const char *maildir_name) { - unsigned int len; + size_t len; if (vname[0] == '.') { if (vname[1] == '\0' || vname[1] == '/') @@ -429,7 +429,7 @@ mailbox_list_escape_name_params(const char *vname, const char *ns_prefix, char ns_sep, char list_sep, char escape_char, const char *maildir_name) { - unsigned int ns_prefix_len = strlen(ns_prefix); + size_t ns_prefix_len = strlen(ns_prefix); string_t *escaped_name = t_str_new(64); bool dirstart = TRUE; @@ -523,7 +523,7 @@ const char *mailbox_list_default_get_storage_name(struct mailbox_list *list, const char *vname) { struct mail_namespace *ns = list->ns; - unsigned int prefix_len = strlen(ns->prefix); + size_t prefix_len = strlen(ns->prefix); const char *storage_name = vname; string_t *str; char list_sep, ns_sep, *ret; @@ -605,7 +605,7 @@ const char * mailbox_list_unescape_name_params(const char *src, const char *ns_prefix, char ns_sep, char list_sep, char escape_char) { - unsigned int ns_prefix_len = strlen(ns_prefix); + size_t ns_prefix_len = strlen(ns_prefix); string_t *dest = t_str_new(strlen(src)); unsigned int num; @@ -683,7 +683,7 @@ mailbox_list_escape_broken_name(struct mailbox_list *list, const char *mailbox_list_default_get_vname(struct mailbox_list *list, const char *storage_name) { - unsigned int i, prefix_len, name_len; + size_t i, prefix_len, name_len; const char *vname = storage_name; char list_sep, ns_sep, *ret; @@ -1426,7 +1426,7 @@ int mailbox_list_mailbox(struct mailbox_list *list, const char *name, enum mailbox_info_flags *flags_r) { const char *path, *fname, *rootdir, *dir, *inbox; - unsigned int len; + size_t len; *flags_r = 0; @@ -1732,7 +1732,7 @@ bool mailbox_list_try_get_absolute_path(struct mailbox_list *list, const char **name) { const char *root_dir, *path, *mailbox_name; - unsigned int len; + size_t len; if (!list->mail_set->mail_full_filesystem_access) return FALSE; diff --git a/src/lib-storage/mailbox-tree.c b/src/lib-storage/mailbox-tree.c index 3afdcff718..23708f0b2f 100644 --- a/src/lib-storage/mailbox-tree.c +++ b/src/lib-storage/mailbox-tree.c @@ -205,7 +205,7 @@ mailbox_tree_iterate_set_next_node(struct mailbox_tree_iterate_context *ctx) nodes = array_get(&ctx->node_path, &count); node = NULL; for (i = count; i != 0; i--) { - unsigned int len = strlen(nodes[i-1]->name) + 1; + size_t len = strlen(nodes[i-1]->name) + 1; i_assert(len <= ctx->parent_pos); ctx->parent_pos -= len; diff --git a/src/lib-storage/mailbox-uidvalidity.c b/src/lib-storage/mailbox-uidvalidity.c index d89f7a1a1d..0506436c3f 100644 --- a/src/lib-storage/mailbox-uidvalidity.c +++ b/src/lib-storage/mailbox-uidvalidity.c @@ -75,7 +75,8 @@ mailbox_uidvalidity_rename(const char *path, uint32_t *uid_validity, bool log_enoent) { string_t *src, *dest; - unsigned int i, prefix_len; + unsigned int i; + size_t prefix_len; int ret; src = t_str_new(256); @@ -111,7 +112,8 @@ mailbox_uidvalidity_next_rescan(struct mailbox_list *list, const char *path) DIR *d; struct dirent *dp; const char *fname, *dir, *prefix, *tmp; - unsigned int i, prefix_len; + unsigned int i; + size_t prefix_len; uint32_t cur_value, min_value, max_value; mode_t old_mask; int fd; diff --git a/src/lib/array.c b/src/lib/array.c index fa0959c6e5..9818fb6c82 100644 --- a/src/lib/array.c +++ b/src/lib/array.c @@ -50,7 +50,8 @@ bool array_cmp_i(const struct array *array1, const struct array *array2) bool array_equal_fn_i(const struct array *array1, const struct array *array2, int (*cmp)(const void *, const void*)) { - unsigned int count1, count2, i, size; + unsigned int count1, count2, i; + size_t size; if (!array_is_created_i(array1) || array1->buffer->used == 0) return !array_is_created_i(array2) || array2->buffer->used == 0; @@ -77,7 +78,8 @@ bool array_equal_fn_ctx_i(const struct array *array1, const struct array *array2 int (*cmp)(const void *, const void *, const void *), const void *context) { - unsigned int count1, count2, i, size; + unsigned int count1, count2, i; + size_t size; if (!array_is_created_i(array1) || array1->buffer->used == 0) return !array_is_created_i(array2) || array2->buffer->used == 0; @@ -144,7 +146,7 @@ const void *array_lsearch_i(const struct array *array, const void *key, int (*cmp)(const void *, const void *)) { const void * const data = array->buffer->data; - const unsigned int s = array->element_size; + const size_t s = array->element_size; unsigned int idx; for (idx = 0; idx < array_count_i(array); idx++) { diff --git a/src/lib/env-util.c b/src/lib/env-util.c index afbfa9adec..3e9bde190b 100644 --- a/src/lib/env-util.c +++ b/src/lib/env-util.c @@ -36,7 +36,7 @@ void env_remove(const char *name) #endif #else extern char **environ; - unsigned int len; + size_t len; char **envp; len = strlen(name); diff --git a/src/lib/failures.c b/src/lib/failures.c index bd358a8d27..f0ed869e14 100644 --- a/src/lib/failures.c +++ b/src/lib/failures.c @@ -102,7 +102,7 @@ static void log_fd_flush_stop(struct ioloop *ioloop) io_loop_stop(ioloop); } -static int log_fd_write(int fd, const unsigned char *data, unsigned int len) +static int log_fd_write(int fd, const unsigned char *data, size_t len) { struct ioloop *ioloop; struct io *io; @@ -551,10 +551,10 @@ const char *i_get_failure_prefix(void) return log_prefix != NULL ? log_prefix : ""; } -static int internal_send_split(string_t *full_str, unsigned int prefix_len) +static int internal_send_split(string_t *full_str, size_t prefix_len) { string_t *str; - unsigned int max_text_len, pos = prefix_len; + size_t max_text_len, pos = prefix_len; str = t_str_new(PIPE_BUF); str_append_n(str, str_c(full_str), prefix_len); @@ -588,7 +588,7 @@ internal_handler(const struct failure_context *ctx, recursed++; T_BEGIN { string_t *str; - unsigned int prefix_len; + size_t prefix_len; if (!log_prefix_sent && log_prefix != NULL) { log_prefix_sent = TRUE; diff --git a/src/lib/istream-base64-encoder.c b/src/lib/istream-base64-encoder.c index b63c12e32b..9f0131f127 100644 --- a/src/lib/istream-base64-encoder.c +++ b/src/lib/istream-base64-encoder.c @@ -10,7 +10,7 @@ struct base64_encoder_istream { struct istream_private istream; /* current encoded line length. */ - unsigned int cur_line_len; + size_t cur_line_len; unsigned int chars_per_line; bool crlf; diff --git a/src/lib/json-parser.c b/src/lib/json-parser.c index 4e6afbf85c..6774759833 100644 --- a/src/lib/json-parser.c +++ b/src/lib/json-parser.c @@ -330,7 +330,7 @@ static int json_parse_number(struct json_parser *parser, const char **value_r) static int json_parse_atom(struct json_parser *parser, const char *atom) { - unsigned int avail, len = strlen(atom); + size_t avail, len = strlen(atom); avail = parser->end - parser->data; if (avail < len) { @@ -716,7 +716,7 @@ void json_append_escaped(string_t *dest, const char *src) void json_append_escaped_data(string_t *dest, const unsigned char *src, size_t size) { - unsigned int i; + size_t i; for (i = 0; i < size; i++) json_append_escaped_char(dest, src[i]); diff --git a/src/lib/module-dir.c b/src/lib/module-dir.c index f5fc4ac58a..75ea011633 100644 --- a/src/lib/module-dir.c +++ b/src/lib/module-dir.c @@ -112,7 +112,7 @@ module_check_missing_plugin_dependencies(const struct module_dir_load_settings * const char **deps; struct module *m; string_t *errmsg; - unsigned int len; + size_t len; deps = dlsym(module->handle, t_strconcat(module->name, "_dependencies", NULL)); @@ -320,7 +320,7 @@ static void check_duplicates(ARRAY_TYPE(const_string) *names, struct module *module_dir_find(struct module *modules, const char *name) { struct module *module; - unsigned int len = strlen(name); + size_t len = strlen(name); for (module = modules; module != NULL; module = module->next) { if (strncmp(module->name, name, len) == 0) { @@ -675,7 +675,7 @@ const char *module_file_get_name(const char *fname) static const char *module_name_drop_suffix(const char *name) { - unsigned int len; + size_t len; len = strlen(name); if (len > 7 && strcmp(name + len - 7, "_plugin") == 0) diff --git a/src/lib/net.c b/src/lib/net.c index 9c3ac2ccaa..75e42a075c 100644 --- a/src/lib/net.c +++ b/src/lib/net.c @@ -901,7 +901,7 @@ int net_addr2ip(const char *addr, struct ip_addr *ip) T_BEGIN { if (addr[0] == '[') { /* allow [ipv6 addr] */ - unsigned int len = strlen(addr); + size_t len = strlen(addr); if (addr[len-1] == ']') addr = t_strndup(addr+1, len-2); } diff --git a/src/lib/ostream-file.c b/src/lib/ostream-file.c index 7fc4c27ea6..7de3831a7a 100644 --- a/src/lib/ostream-file.c +++ b/src/lib/ostream-file.c @@ -666,7 +666,7 @@ o_stream_file_write_at(struct ostream_private *stream, of it in one pwrite(). */ } else { /* write only the suffix */ - unsigned int update_count = size - left; + size_t update_count = size - left; data = CONST_PTR_OFFSET(data, update_count); size -= update_count; diff --git a/src/lib/printf-format-fix.c b/src/lib/printf-format-fix.c index 347aae6718..2ba9bde0b5 100644 --- a/src/lib/printf-format-fix.c +++ b/src/lib/printf-format-fix.c @@ -4,11 +4,11 @@ #include "printf-format-fix.h" static const char * -fix_format_real(const char *fmt, const char *p, unsigned int *len_r) +fix_format_real(const char *fmt, const char *p, size_t *len_r) { const char *errstr; char *buf; - unsigned int len1, len2, len3; + size_t len1, len2, len3; i_assert((size_t)(p - fmt) < INT_MAX); i_assert(p[0] == '%' && p[1] == 'm'); @@ -33,7 +33,7 @@ fix_format_real(const char *fmt, const char *p, unsigned int *len_r) } static const char * -printf_format_fix_noalloc(const char *format, unsigned int *len_r) +printf_format_fix_noalloc(const char *format, size_t *len_r) { const char *p; const char *ret = format; @@ -60,7 +60,7 @@ printf_format_fix_noalloc(const char *format, unsigned int *len_r) return ret; } -const char *printf_format_fix_get_len(const char *format, unsigned int *len_r) +const char *printf_format_fix_get_len(const char *format, size_t *len_r) { const char *ret; @@ -73,7 +73,7 @@ const char *printf_format_fix_get_len(const char *format, unsigned int *len_r) const char *printf_format_fix(const char *format) { const char *ret; - unsigned int len; + size_t len; ret = printf_format_fix_noalloc(format, &len); if (ret != format) @@ -83,7 +83,7 @@ const char *printf_format_fix(const char *format) const char *printf_format_fix_unsafe(const char *format) { - unsigned int len; + size_t len; return printf_format_fix_noalloc(format, &len); } diff --git a/src/lib/printf-format-fix.h b/src/lib/printf-format-fix.h index 3b638377b2..5691a0708e 100644 --- a/src/lib/printf-format-fix.h +++ b/src/lib/printf-format-fix.h @@ -5,7 +5,7 @@ used. If the format string was modified, it's returned from data stack. */ const char *printf_format_fix(const char *format) ATTR_FORMAT_ARG(1); /* Like printf_format_fix(), except return also the format string's length. */ -const char *printf_format_fix_get_len(const char *format, unsigned int *len_r) +const char *printf_format_fix_get_len(const char *format, size_t *len_r) ATTR_FORMAT_ARG(1); /* Like printf_format_fix(), except the format string is written to data stack without actually allocating it. Data stack must not be used until diff --git a/src/lib/str-find.c b/src/lib/str-find.c index daacfebcae..44bf3c58a4 100644 --- a/src/lib/str-find.c +++ b/src/lib/str-find.c @@ -78,9 +78,10 @@ static void init_goodtab(struct str_find_context *ctx) struct str_find_context *str_find_init(pool_t pool, const char *key) { struct str_find_context *ctx; - unsigned int key_len = strlen(key); + size_t key_len = strlen(key); i_assert(key_len > 0); + i_assert(key_len < INT_MAX); ctx = p_malloc(pool, sizeof(struct str_find_context) + sizeof(ctx->goodtab[0]) * key_len); diff --git a/src/lib/str-sanitize.c b/src/lib/str-sanitize.c index a410153a7c..5fb6add31e 100644 --- a/src/lib/str-sanitize.c +++ b/src/lib/str-sanitize.c @@ -25,7 +25,7 @@ static size_t str_sanitize_skip_start(const char *src, size_t max_bytes) static void str_sanitize_truncate_char(string_t *dest, unsigned int initial_pos) { const unsigned char *data = str_data(dest); - unsigned int len = str_len(dest); + size_t len = str_len(dest); if (len == initial_pos) return; @@ -44,7 +44,7 @@ static void str_sanitize_truncate_char(string_t *dest, unsigned int initial_pos) void str_sanitize_append(string_t *dest, const char *src, size_t max_bytes) { - unsigned int initial_pos = str_len(dest); + size_t initial_pos = str_len(dest); unichar_t chr; size_t i; diff --git a/src/lib/str.c b/src/lib/str.c index 3a5c92dd06..f093c13cae 100644 --- a/src/lib/str.c +++ b/src/lib/str.c @@ -108,7 +108,7 @@ void str_vprintfa(string_t *str, const char *fmt, va_list args) #define SNPRINTF_INITIAL_EXTRA_SIZE 128 va_list args2; char *tmp; - unsigned int init_size; + size_t init_size; size_t pos = str->used; int ret, ret2; diff --git a/src/lib/strfuncs.c b/src/lib/strfuncs.c index 0fa45beeb2..1e8d41c43d 100644 --- a/src/lib/strfuncs.c +++ b/src/lib/strfuncs.c @@ -118,7 +118,7 @@ char *t_noalloc_strdup_vprintf(const char *format, va_list args, #define SNPRINTF_INITIAL_EXTRA_SIZE 256 va_list args2; char *tmp; - unsigned int init_size; + size_t init_size; int ret; #ifdef DEBUG int old_errno = errno; @@ -301,7 +301,7 @@ const char *t_strcut(const char *str, char cutchar) const char *t_str_replace(const char *str, char from, char to) { char *out; - unsigned int i, len; + size_t i, len; if (strchr(str, from) == NULL) return str; diff --git a/src/lib/test-printf-format-fix.c b/src/lib/test-printf-format-fix.c index 26fb5b7eb2..f5642f5140 100644 --- a/src/lib/test-printf-format-fix.c +++ b/src/lib/test-printf-format-fix.c @@ -24,7 +24,7 @@ static void test_unchanged() test_begin("printf_format_fix(safe)"); for (i = 0; i < N_ELEMENTS(tests); ++i) { - unsigned int len; + size_t len; T_BEGIN { test_assert_idx(printf_format_fix(tests[i]) == tests[i], i); @@ -56,7 +56,7 @@ static void test_ok_changes() needlen = strlen(needle); for (i = 0; i < N_ELEMENTS(tests); ++i) { - unsigned int len; + size_t len; char const *chgd; char const *insert; unsigned int offs; diff --git a/src/lib/unlink-old-files.c b/src/lib/unlink-old-files.c index 2981b9bcaa..aa652be5ac 100644 --- a/src/lib/unlink-old-files.c +++ b/src/lib/unlink-old-files.c @@ -18,7 +18,7 @@ unlink_old_files_real(const char *dir, const char *prefix, time_t min_time) struct dirent *d; struct stat st; string_t *path; - unsigned int prefix_len, dir_len; + size_t prefix_len, dir_len; dirp = opendir(dir); if (dirp == NULL) { diff --git a/src/lib/var-expand.c b/src/lib/var-expand.c index cfbfd013bc..419db64cc2 100644 --- a/src/lib/var-expand.c +++ b/src/lib/var-expand.c @@ -34,7 +34,7 @@ struct var_expand_modifier { static int var_expand_long(const struct var_expand_table *table, const struct var_expand_func_table *func_table, - const void *key_start, unsigned int key_len, void *context, + const void *key_start, size_t key_len, void *context, const char **var_r, const char **error_r); static const char * @@ -153,7 +153,7 @@ m_str_ldap_dn(const char *str, struct var_expand_context *ctx ATTR_UNUSED) static const char * m_str_trim(const char *str, struct var_expand_context *ctx ATTR_UNUSED) { - unsigned int len; + size_t len; len = strlen(str); while (len > 0 && i_isspace(str[len-1])) @@ -386,7 +386,7 @@ var_expand_func(const struct var_expand_func_table *func_table, static int var_expand_long(const struct var_expand_table *table, const struct var_expand_func_table *func_table, - const void *key_start, unsigned int key_len, void *context, + const void *key_start, size_t key_len, void *context, const char **var_r, const char **error_r) { const struct var_expand_table *t; @@ -453,7 +453,8 @@ int var_expand_with_funcs(string_t *dest, const char *str, const char *(*modifier[MAX_MODIFIER_COUNT]) (const char *, struct var_expand_context *); const char *end; - unsigned int i, len, modifier_count; + unsigned int i, modifier_count; + size_t len; int ret, final_ret = 1; *error_r = NULL; @@ -579,7 +580,7 @@ int var_expand_with_funcs(string_t *dest, const char *str, str_append_n(dest, var, ctx.width); } else { /* %05d -like padding. no truncation. */ - int len = strlen(var); + ssize_t len = strlen(var); while (len < ctx.width) { str_append_c(dest, '0'); ctx.width--; diff --git a/src/lmtp/commands.c b/src/lmtp/commands.c index fd1a3b509e..754ad33ac6 100644 --- a/src/lmtp/commands.c +++ b/src/lmtp/commands.c @@ -498,7 +498,7 @@ static void lmtp_address_translate(struct client *client, const char **address) { const char *transpos = client->lmtp_set->lmtp_address_translate; const char *p, *nextstr, *addrpos = *address; - unsigned int len; + size_t len; string_t *username, *domain, *dest = NULL; if (*transpos == '\0') diff --git a/src/log/log-error-buffer.c b/src/log/log-error-buffer.c index 753efc58ae..347a3f84c5 100644 --- a/src/log/log-error-buffer.c +++ b/src/log/log-error-buffer.c @@ -51,8 +51,8 @@ static void log_error_buffer_delete_head(struct log_error_buffer *buf) void log_error_buffer_add(struct log_error_buffer *buf, const struct log_error *error) { - unsigned int prefix_size = strlen(error->prefix)+1; - unsigned int text_size = strlen(error->text)+1; + size_t prefix_size = strlen(error->prefix)+1; + size_t text_size = strlen(error->text)+1; struct log_error_data *data; if (buf->count == LOG_ERROR_BUFFER_MAX_LINES) diff --git a/src/login-common/client-common-auth.c b/src/login-common/client-common-auth.c index 8fad65168d..274ba3f83b 100644 --- a/src/login-common/client-common-auth.c +++ b/src/login-common/client-common-auth.c @@ -591,8 +591,7 @@ void client_auth_fail(struct client *client, const char *text) int client_auth_read_line(struct client *client) { const unsigned char *data; - size_t i, size; - unsigned int len; + size_t i, size, len; if (i_stream_read_more(client->input, &data, &size) == -1) { client_destroy(client, "Disconnected"); diff --git a/src/login-common/client-common.c b/src/login-common/client-common.c index b08cddc4e0..71ee0e11ee 100644 --- a/src/login-common/client-common.c +++ b/src/login-common/client-common.c @@ -607,7 +607,8 @@ client_var_expand_func_passdb(const char *data, void *context, { struct client *client = context; const char *field_name = data; - unsigned int i, field_name_len; + unsigned int i; + size_t field_name_len; *value_r = NULL; diff --git a/src/login-common/login-proxy-state.c b/src/login-common/login-proxy-state.c index 4c82345df8..ea38ff618b 100644 --- a/src/login-common/login-proxy-state.c +++ b/src/login-common/login-proxy-state.c @@ -132,7 +132,7 @@ static int login_proxy_state_notify_open(struct login_proxy_state *state) static bool login_proxy_state_try_notify(struct login_proxy_state *state, const char *user) { - unsigned int len; + size_t len; ssize_t ret; if (state->notify_fd == -1) { diff --git a/src/master/master-settings.c b/src/master/master-settings.c index d19f4606f1..ea987f66fd 100644 --- a/src/master/master-settings.c +++ b/src/master/master-settings.c @@ -284,7 +284,7 @@ fix_file_listener_paths(ARRAY_TYPE(file_listener_settings) *l, const char **error_r) { struct file_listener_settings *const *sets; - unsigned int base_dir_len = strlen(master_set->base_dir); + size_t base_dir_len = strlen(master_set->base_dir); enum service_user_default user_default; if (!array_is_created(l)) @@ -422,8 +422,9 @@ master_settings_verify(void *_set, pool_t pool, const char **error_r) const char *const *strings; ARRAY_TYPE(const_string) all_listeners; struct passwd pw; - unsigned int i, j, count, len, client_limit, process_limit; + unsigned int i, j, count, client_limit, process_limit; unsigned int max_auth_client_processes, max_anvil_client_processes; + size_t len; #ifdef CONFIG_BINARY const struct service_settings *default_service; #else @@ -666,7 +667,7 @@ settings_have_auth_unix_listeners_in(const struct master_settings *set, { struct service_settings *const *services; struct file_listener_settings *const *uls; - unsigned int dir_len = strlen(dir); + size_t dir_len = strlen(dir); array_foreach(&set->services, services) { struct service_settings *service = *services; @@ -690,7 +691,7 @@ static void unlink_sockets(const char *path, const char *prefix) struct dirent *dp; struct stat st; string_t *str; - unsigned int prefix_len; + size_t prefix_len; dirp = opendir(path); if (dirp == NULL) { diff --git a/src/master/service-process.c b/src/master/service-process.c index 3a1d026668..d43abfae28 100644 --- a/src/master/service-process.c +++ b/src/master/service-process.c @@ -172,7 +172,7 @@ drop_privileges(struct service *service) { struct restrict_access_settings rset; bool disallow_root; - unsigned int len; + size_t len; if (service->vsz_limit != 0) restrict_process_size(service->vsz_limit); diff --git a/src/plugins/acl/acl-lookup-dict.c b/src/plugins/acl/acl-lookup-dict.c index 2714aa647e..c5eae289c9 100644 --- a/src/plugins/acl/acl-lookup-dict.c +++ b/src/plugins/acl/acl-lookup-dict.c @@ -157,7 +157,7 @@ acl_lookup_dict_rebuild_update(struct acl_lookup_dict *dict, ARRAY_TYPE(const_string) old_ids_arr; unsigned int newi, oldi, old_count, new_count; string_t *path; - unsigned int prefix_len; + size_t prefix_len; int ret; /* get all existing identifiers for the user. we might be able to @@ -264,7 +264,7 @@ static void acl_lookup_dict_iterate_read(struct acl_lookup_dict_iter *iter) { struct dict_iterate_context *dict_iter; const char *const *idp, *prefix, *key, *value, *error; - unsigned int prefix_len; + size_t prefix_len; idp = array_idx(&iter->iter_ids, iter->iter_idx); iter->iter_idx++; diff --git a/src/plugins/acl/acl-mailbox-list.c b/src/plugins/acl/acl-mailbox-list.c index 4ce5a608a7..4d777d2ae4 100644 --- a/src/plugins/acl/acl-mailbox-list.c +++ b/src/plugins/acl/acl-mailbox-list.c @@ -233,7 +233,7 @@ acl_mailbox_list_iter_get_name(struct mailbox_list_iterate_context *ctx, { struct mail_namespace *ns = ctx->list->ns; const char *name; - unsigned int len; + size_t len; name = mailbox_list_get_storage_name(ns->list, vname); len = strlen(name); @@ -266,7 +266,7 @@ iter_mailbox_has_visible_children(struct acl_mailbox_list_iterate_context *ctx, const struct mailbox_info *info; string_t *pattern; const char *prefix; - unsigned int i, prefix_len; + size_t i, prefix_len; bool stars = FALSE, ret = FALSE; /* do we have child mailboxes with LOOKUP right that don't match diff --git a/src/plugins/dict-ldap/dict-ldap.c b/src/plugins/dict-ldap/dict-ldap.c index 699f444db8..e9d0eb073c 100644 --- a/src/plugins/dict-ldap/dict-ldap.c +++ b/src/plugins/dict-ldap/dict-ldap.c @@ -53,12 +53,12 @@ void ldap_dict_lookup_async(struct dict *dict, const char *key, static bool dict_ldap_map_match(const struct dict_ldap_map *map, const char *path, - ARRAY_TYPE(const_string) *values, unsigned int *pat_len_r, - unsigned int *path_len_r, bool partial_ok, bool recurse) + ARRAY_TYPE(const_string) *values, size_t *pat_len_r, + size_t *path_len_r, bool partial_ok, bool recurse) { const char *path_start = path; const char *pat, *attribute, *p; - unsigned int len; + size_t len; array_clear(values); pat = map->pattern; @@ -134,7 +134,8 @@ ldap_dict_find_map(struct ldap_dict *dict, const char *path, ARRAY_TYPE(const_string) *values) { const struct dict_ldap_map *maps; - unsigned int i, count, len; + unsigned int i, count; + size_t len; t_array_init(values, dict->set->max_attribute_count); maps = array_get(&dict->set->maps, &count); diff --git a/src/plugins/fts-solr/fts-backend-solr-old.c b/src/plugins/fts-solr/fts-backend-solr-old.c index 5ffbc8ad82..9cfd7515fa 100644 --- a/src/plugins/fts-solr/fts-backend-solr-old.c +++ b/src/plugins/fts-solr/fts-backend-solr-old.c @@ -60,10 +60,10 @@ static bool is_valid_xml_char(unichar_t chr) } static void -xml_encode_data(string_t *dest, const unsigned char *data, unsigned int len) +xml_encode_data(string_t *dest, const unsigned char *data, size_t len) { unichar_t chr; - unsigned int i; + size_t i; for (i = 0; i < len; i++) { switch (data[i]) { @@ -659,7 +659,7 @@ static bool solr_add_definite_query_args(string_t *str, struct mail_search_arg *arg, bool and_args) { - unsigned int last_len; + size_t last_len; last_len = str_len(str); for (; arg != NULL; arg = arg->next) { @@ -761,7 +761,8 @@ solr_search_multi(struct solr_fts_backend *backend, string_t *str, struct mailbox *box; const char *box_name; char *box_id; - unsigned int i, len; + unsigned int i; + size_t len; /* use a separate filter query for selecting the mailbox. it shouldn't affect the score and there could be some caching benefits too. */ diff --git a/src/plugins/fts-solr/fts-backend-solr.c b/src/plugins/fts-solr/fts-backend-solr.c index b367c88259..00c382366b 100644 --- a/src/plugins/fts-solr/fts-backend-solr.c +++ b/src/plugins/fts-solr/fts-backend-solr.c @@ -80,12 +80,12 @@ static bool is_valid_xml_char(unichar_t chr) return chr < 0x10ffff; } -static unsigned int -xml_encode_data_max(string_t *dest, const unsigned char *data, unsigned int len, +static size_t +xml_encode_data_max(string_t *dest, const unsigned char *data, size_t len, unsigned int max_len) { unichar_t chr; - unsigned int i; + size_t i; i_assert(max_len > 0 || len == 0); @@ -135,7 +135,7 @@ xml_encode_data_max(string_t *dest, const unsigned char *data, unsigned int len, } static void -xml_encode_data(string_t *dest, const unsigned char *data, unsigned int len) +xml_encode_data(string_t *dest, const unsigned char *data, size_t len) { (void)xml_encode_data_max(dest, data, len, len); } @@ -564,7 +564,7 @@ fts_backend_solr_update_build_more(struct fts_backend_update_context *_ctx, { struct solr_fts_backend_update_context *ctx = (struct solr_fts_backend_update_context *)_ctx; - unsigned int len; + size_t len; if (_ctx->failed) return -1; @@ -707,7 +707,7 @@ static bool solr_add_definite_query_args(string_t *str, struct mail_search_arg *arg, bool and_args) { - unsigned int last_len; + size_t last_len; last_len = str_len(str); for (; arg != NULL; arg = arg->next) { @@ -764,7 +764,7 @@ static bool solr_add_maybe_query_args(string_t *str, struct mail_search_arg *arg, bool and_args) { - unsigned int last_len; + size_t last_len; last_len = str_len(str); for (; arg != NULL; arg = arg->next) { @@ -821,7 +821,7 @@ fts_backend_solr_lookup(struct fts_backend *_backend, struct mailbox *box, struct mailbox_status status; string_t *str; const char *box_guid; - unsigned int prefix_len; + size_t prefix_len; if (fts_mailbox_get_guid(box, &box_guid) < 0) return -1; @@ -862,7 +862,8 @@ solr_search_multi(struct fts_backend *_backend, string_t *str, HASH_TABLE(char *, struct mailbox *) mailboxes; struct mailbox *box; const char *box_guid; - unsigned int i, len; + unsigned int i; + size_t len; bool search_all_mailboxes; /* use a separate filter query for selecting the mailbox. it shouldn't diff --git a/src/plugins/fts-squat/squat-test.c b/src/plugins/fts-squat/squat-test.c index 90f8cd0e69..adac99868c 100644 --- a/src/plugins/fts-squat/squat-test.c +++ b/src/plugins/fts-squat/squat-test.c @@ -43,7 +43,8 @@ int main(int argc ATTR_UNUSED, char *argv[]) char *line, *str, buf[4096]; buffer_t *valid; int ret, fd; - unsigned int len, last = 0, seq = 1, node_count, uidlist_count; + unsigned int last = 0, seq = 1, node_count, uidlist_count; + size_t len; enum squat_index_type index_type; bool data_header = TRUE, first = TRUE, skip_body = FALSE; bool mime_header = TRUE; diff --git a/src/plugins/fts/fts-api.c b/src/plugins/fts/fts-api.c index 4184a4ae2e..f690307966 100644 --- a/src/plugins/fts/fts-api.c +++ b/src/plugins/fts/fts-api.c @@ -459,7 +459,7 @@ int fts_index_have_compatible_settings(struct mailbox_list *list, struct mailbox *box; struct fts_index_header hdr; const char *vname; - unsigned int len; + size_t len; int ret; if ((ns->flags & NAMESPACE_FLAG_INBOX_USER) != 0) diff --git a/src/plugins/fts/fts-search-args.c b/src/plugins/fts/fts-search-args.c index 5750b420d7..1a8aedddc2 100644 --- a/src/plugins/fts/fts-search-args.c +++ b/src/plugins/fts/fts-search-args.c @@ -98,7 +98,7 @@ fts_backend_dovecot_tokenize_lang(struct fts_user_language *user_lang, struct mail_search_arg *orig_arg, const char *orig_token, const char **error_r) { - unsigned int orig_token_len = strlen(orig_token); + size_t orig_token_len = strlen(orig_token); struct mail_search_arg *and_arg; const char *token, *error; int ret; diff --git a/src/plugins/imap-acl/imap-acl-plugin.c b/src/plugins/imap-acl/imap-acl-plugin.c index 9adf19de59..0f0070c1c1 100644 --- a/src/plugins/imap-acl/imap-acl-plugin.c +++ b/src/plugins/imap-acl/imap-acl-plugin.c @@ -105,7 +105,8 @@ static void imap_acl_write_rights_list(string_t *dest, const char *const *rights) { const struct imap_acl_letter_map *map; - unsigned int i, orig_len = str_len(dest); + unsigned int i; + size_t orig_len = str_len(dest); bool append_c = FALSE, append_d = FALSE; for (i = 0; rights[i] != NULL; i++) { @@ -211,7 +212,7 @@ imap_acl_write_aclobj(string_t *dest, struct acl_backend *backend, struct acl_rights rights; string_t *tmp; const char *username; - unsigned int orig_len = str_len(dest); + size_t orig_len = str_len(dest); bool seen_owner = FALSE, seen_positive_owner = FALSE; int ret; diff --git a/src/plugins/imap-stats/imap-stats-plugin.c b/src/plugins/imap-stats/imap-stats-plugin.c index a9dbb87d4c..502422937f 100644 --- a/src/plugins/imap-stats/imap-stats-plugin.c +++ b/src/plugins/imap-stats/imap-stats-plugin.c @@ -58,7 +58,7 @@ static void stats_command_post(struct client_command_context *cmd) struct stats_client_command *scmd = IMAP_STATS_IMAP_CONTEXT(cmd); struct stats *new_stats, *diff_stats; const char *error; - unsigned int args_pos = 0, args_len = 0; + size_t args_pos = 0, args_len = 0; string_t *str; buffer_t *buf; @@ -102,7 +102,7 @@ static void stats_command_post(struct client_command_context *cmd) if (str_len(str) > PIPE_BUF) { /* truncate the args so it fits */ - unsigned int delete_count = str_len(str) - PIPE_BUF; + size_t delete_count = str_len(str) - PIPE_BUF; i_assert(args_pos != 0); if (delete_count > args_len) diff --git a/src/plugins/mail-crypt/mail-crypt-pluginenv.c b/src/plugins/mail-crypt/mail-crypt-pluginenv.c index 8a729ee66d..0ee256cb7d 100644 --- a/src/plugins/mail-crypt/mail-crypt-pluginenv.c +++ b/src/plugins/mail-crypt/mail-crypt-pluginenv.c @@ -61,7 +61,7 @@ mail_crypt_load_global_private_keys(const struct fs_crypt_settings *set, string_t *set_key = t_str_new(64); str_append(set_key, set_prefix); str_append(set_key, "_private_key"); - unsigned int prefix_len = str_len(set_key); + size_t prefix_len = str_len(set_key); unsigned int i = 1; const char *key_data; diff --git a/src/plugins/mail-crypt/mail-crypt-userenv.c b/src/plugins/mail-crypt/mail-crypt-userenv.c index 54a1b96cf8..2f90202083 100644 --- a/src/plugins/mail-crypt/mail-crypt-userenv.c +++ b/src/plugins/mail-crypt/mail-crypt-userenv.c @@ -15,7 +15,7 @@ mail_crypt_load_global_private_keys(struct mail_user *user, string_t *set_key = t_str_new(64); str_append(set_key, set_prefix); str_append(set_key, "_private_key"); - unsigned int prefix_len = str_len(set_key); + size_t prefix_len = str_len(set_key); unsigned int i = 1; const char *key_data; diff --git a/src/plugins/quota/quota-dirsize.c b/src/plugins/quota/quota-dirsize.c index 17fe6e5def..387f1fb1f7 100644 --- a/src/plugins/quota/quota-dirsize.c +++ b/src/plugins/quota/quota-dirsize.c @@ -125,7 +125,8 @@ static void quota_count_path_add(ARRAY_TYPE(quota_count_path) *paths, const char *path, bool is_file) { struct quota_count_path *count_path; - unsigned int i, count, path_len; + unsigned int i, count; + size_t path_len; path_len = strlen(path); count_path = array_get_modifiable(paths, &count); diff --git a/src/replication/aggregator/replicator-connection.c b/src/replication/aggregator/replicator-connection.c index 91bf16059c..8076fce11a 100644 --- a/src/replication/aggregator/replicator-connection.c +++ b/src/replication/aggregator/replicator-connection.c @@ -84,7 +84,7 @@ static bool replicator_send_buf(struct replicator_connection *conn, buffer_t *buf) { const unsigned char *data = buf->data; - unsigned int len = IO_BLOCK_SIZE; + size_t len = IO_BLOCK_SIZE; /* try to send about IO_BLOCK_SIZE amount of data, but only full lines */ @@ -265,7 +265,7 @@ static void replicator_send(struct replicator_connection *conn, enum replication_priority priority, const char *data) { - unsigned int data_len = strlen(data); + size_t data_len = strlen(data); if (conn->fd != -1 && o_stream_get_buffer_used_size(conn->output) == 0) {