diff options
author | Stefan Bühler <stbuehler@web.de> | 2013-11-13 11:43:26 +0000 |
---|---|---|
committer | Stefan Bühler <stbuehler@web.de> | 2013-11-13 11:43:26 +0000 |
commit | 6f208cfde145fa392add2fd97cfe3b2152d279b0 (patch) | |
tree | 3b5f9713231a0b151753e0e5c9410917f2828c11 | |
parent | 6b7240f2d8bdc3838fc6d265bc54e6496e03916d (diff) | |
download | lighttpd-git-6f208cfde145fa392add2fd97cfe3b2152d279b0.tar.gz |
fix/silence bugs reported by ccc-analyzer (clang)
These should all be non critical:
* memory leaks on startup in error cases (which lead to
immediate shutdowns anyway)
* http_auth/ldap: passing uninitialized "ret" to ldap_err2string
* sizeof(T) not matching the target pointer in malloc/calloc calls;
those cases were either:
* T being the wrong pointer type - shouldn't matter as long as all
pointers have same size
* T being larger than the type needed
* mod_accesslog: direct use after free in cleanup (server shutdown);
could crash before "clean" shutdown
* some false positives (mod_compress, mod_expire)
* assert(srv->config_context->used > 0); - this is always the case,
as there is always a global config block
From: Stefan Bühler <stbuehler@web.de>
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2920 152afb58-edef-0310-8abb-c4023f1b3aa9
41 files changed, 78 insertions, 65 deletions
diff --git a/src/array.c b/src/array.c index 05568b38..e42f4b9d 100644 --- a/src/array.c +++ b/src/array.c @@ -24,6 +24,8 @@ array *array_init_array(array *src) { size_t i; array *a = array_init(); + if (0 == src->size) return a; + a->used = src->used; a->size = src->size; a->next_power_of_2 = src->next_power_of_2; diff --git a/src/configfile.c b/src/configfile.c index 18b36b37..d0364bc0 100644 --- a/src/configfile.c +++ b/src/configfile.c @@ -1026,7 +1026,10 @@ static char* getCWD(void) { s = malloc(len); if (!s) return NULL; while (NULL == getcwd(s, len)) { - if (errno != ERANGE || SSIZE_MAX - len < len) return NULL; + if (errno != ERANGE || SSIZE_MAX - len < len) { + free(s); + return NULL; + } len *= 2; s1 = realloc(s, len); if (!s1) { diff --git a/src/fdevent.c b/src/fdevent.c index fdd178d1..58f38a72 100644 --- a/src/fdevent.c +++ b/src/fdevent.c @@ -23,59 +23,62 @@ fdevents *fdevent_init(server *srv, size_t maxfds, fdevent_handler_t type) { switch(type) { case FDEVENT_HANDLER_POLL: if (0 != fdevent_poll_init(ev)) { - log_error_write(ev->srv, __FILE__, __LINE__, "S", + log_error_write(srv, __FILE__, __LINE__, "S", "event-handler poll failed"); - - return NULL; + goto error; } return ev; case FDEVENT_HANDLER_SELECT: if (0 != fdevent_select_init(ev)) { - log_error_write(ev->srv, __FILE__, __LINE__, "S", + log_error_write(srv, __FILE__, __LINE__, "S", "event-handler select failed"); - return NULL; + goto error; } return ev; case FDEVENT_HANDLER_LINUX_SYSEPOLL: if (0 != fdevent_linux_sysepoll_init(ev)) { - log_error_write(ev->srv, __FILE__, __LINE__, "S", + log_error_write(srv, __FILE__, __LINE__, "S", "event-handler linux-sysepoll failed, try to set server.event-handler = \"poll\" or \"select\""); - return NULL; + goto error; } return ev; case FDEVENT_HANDLER_SOLARIS_DEVPOLL: if (0 != fdevent_solaris_devpoll_init(ev)) { - log_error_write(ev->srv, __FILE__, __LINE__, "S", + log_error_write(srv, __FILE__, __LINE__, "S", "event-handler solaris-devpoll failed, try to set server.event-handler = \"poll\" or \"select\""); - return NULL; + goto error; } return ev; case FDEVENT_HANDLER_SOLARIS_PORT: if (0 != fdevent_solaris_port_init(ev)) { - log_error_write(ev->srv, __FILE__, __LINE__, "S", + log_error_write(srv, __FILE__, __LINE__, "S", "event-handler solaris-eventports failed, try to set server.event-handler = \"poll\" or \"select\""); - return NULL; + goto error; } return ev; case FDEVENT_HANDLER_FREEBSD_KQUEUE: if (0 != fdevent_freebsd_kqueue_init(ev)) { - log_error_write(ev->srv, __FILE__, __LINE__, "S", + log_error_write(srv, __FILE__, __LINE__, "S", "event-handler freebsd-kqueue failed, try to set server.event-handler = \"poll\" or \"select\""); - return NULL; + goto error; } return ev; case FDEVENT_HANDLER_LIBEV: if (0 != fdevent_libev_init(ev)) { - log_error_write(ev->srv, __FILE__, __LINE__, "S", + log_error_write(srv, __FILE__, __LINE__, "S", "event-handler libev failed, try to set server.event-handler = \"poll\" or \"select\""); - return NULL; + goto error; } return ev; case FDEVENT_HANDLER_UNSET: break; } - log_error_write(ev->srv, __FILE__, __LINE__, "S", +error: + free(ev->fdarray); + free(ev); + + log_error_write(srv, __FILE__, __LINE__, "S", "event-handler is unknown, try to set server.event-handler = \"poll\" or \"select\""); return NULL; } diff --git a/src/http_auth.c b/src/http_auth.c index f8fb3fc8..e1d15e00 100644 --- a/src/http_auth.c +++ b/src/http_auth.c @@ -764,8 +764,9 @@ static int http_auth_basic_password_compare(server *srv, mod_auth_plugin_data *p if (auth_ldap_init(srv, p->anon_conf) != HANDLER_GO_ON) return -1; - if (p->anon_conf->ldap == NULL || - LDAP_SUCCESS != (ret = ldap_search_s(p->anon_conf->ldap, p->conf.auth_ldap_basedn->ptr, LDAP_SCOPE_SUBTREE, p->ldap_filter->ptr, attrs, 0, &lm))) { + if (NULL == p->anon_conf->ldap) return -1; + + if (LDAP_SUCCESS != (ret = ldap_search_s(p->anon_conf->ldap, p->conf.auth_ldap_basedn->ptr, LDAP_SCOPE_SUBTREE, p->ldap_filter->ptr, attrs, 0, &lm))) { log_error_write(srv, __FILE__, __LINE__, "sssb", "ldap:", ldap_err2string(ret), "filter:", p->ldap_filter); return -1; diff --git a/src/lemon.c b/src/lemon.c index 87517376..2f72ef42 100644 --- a/src/lemon.c +++ b/src/lemon.c @@ -1613,12 +1613,14 @@ int n; int k; FILE *err; { - int spcnt, i; - if( argv[0] ) fprintf(err,"%s",argv[0]); - spcnt = strlen(argv[0]) + 1; + int spcnt = 0, i; + if( argv[0] ) { + fprintf(err,"%s",argv[0]); + spcnt += strlen(argv[0]) + 1; + } for(i=1; i<n && argv[i]; i++){ fprintf(err," %s",argv[i]); - spcnt += strlen(argv[i]+1); + spcnt += strlen(argv[i]) + 1; } spcnt += k; for(; argv[i]; i++) fprintf(err," %s",argv[i]); diff --git a/src/mod_access.c b/src/mod_access.c index 39024350..c4774b87 100644 --- a/src/mod_access.c +++ b/src/mod_access.c @@ -61,7 +61,7 @@ SETDEFAULTS_FUNC(mod_access_set_defaults) { { NULL, NULL, T_CONFIG_UNSET, T_CONFIG_SCOPE_UNSET } }; - p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *)); + p->config_storage = calloc(1, srv->config_context->used * sizeof(plugin_config *)); for (i = 0; i < srv->config_context->used; i++) { plugin_config *s; diff --git a/src/mod_accesslog.c b/src/mod_accesslog.c index 5484f551..4bc6cce4 100644 --- a/src/mod_accesslog.c +++ b/src/mod_accesslog.c @@ -446,8 +446,8 @@ FREE_FUNC(mod_accesslog_free) { free(p->config_storage); } - free(p); if (p->syslog_logbuffer) buffer_free(p->syslog_logbuffer); + free(p); return HANDLER_GO_ON; } @@ -466,7 +466,7 @@ SETDEFAULTS_FUNC(log_access_open) { if (!p) return HANDLER_ERROR; - p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *)); + p->config_storage = calloc(1, srv->config_context->used * sizeof(plugin_config *)); for (i = 0; i < srv->config_context->used; i++) { plugin_config *s; diff --git a/src/mod_alias.c b/src/mod_alias.c index 0bac56b1..062c268c 100644 --- a/src/mod_alias.c +++ b/src/mod_alias.c @@ -72,7 +72,7 @@ SETDEFAULTS_FUNC(mod_alias_set_defaults) { if (!p) return HANDLER_ERROR; - p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *)); + p->config_storage = calloc(1, srv->config_context->used * sizeof(plugin_config *)); for (i = 0; i < srv->config_context->used; i++) { plugin_config *s; diff --git a/src/mod_auth.c b/src/mod_auth.c index 99ddbbd4..31e1140b 100644 --- a/src/mod_auth.c +++ b/src/mod_auth.c @@ -364,7 +364,7 @@ SETDEFAULTS_FUNC(mod_auth_set_defaults) { { NULL, NULL, T_CONFIG_UNSET, T_CONFIG_SCOPE_UNSET } }; - p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *)); + p->config_storage = calloc(1, srv->config_context->used * sizeof(mod_auth_plugin_config *)); for (i = 0; i < srv->config_context->used; i++) { mod_auth_plugin_config *s; diff --git a/src/mod_cgi.c b/src/mod_cgi.c index fad5d5bd..9ac9b0dd 100644 --- a/src/mod_cgi.c +++ b/src/mod_cgi.c @@ -157,7 +157,7 @@ SETDEFAULTS_FUNC(mod_fastcgi_set_defaults) { if (!p) return HANDLER_ERROR; - p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *)); + p->config_storage = calloc(1, srv->config_context->used * sizeof(plugin_config *)); for (i = 0; i < srv->config_context->used; i++) { plugin_config *s; diff --git a/src/mod_cml.c b/src/mod_cml.c index f83eb803..b5b5ac2f 100644 --- a/src/mod_cml.c +++ b/src/mod_cml.c @@ -83,7 +83,7 @@ SETDEFAULTS_FUNC(mod_cml_set_defaults) { if (!p) return HANDLER_ERROR; - p->config_storage = malloc(srv->config_context->used * sizeof(specific_config *)); + p->config_storage = calloc(1, srv->config_context->used * sizeof(plugin_config *)); for (i = 0; i < srv->config_context->used; i++) { plugin_config *s; diff --git a/src/mod_compress.c b/src/mod_compress.c index e4f53dae..d9f12d39 100644 --- a/src/mod_compress.c +++ b/src/mod_compress.c @@ -12,6 +12,7 @@ #include <sys/types.h> #include <sys/stat.h> +#include <assert.h> #include <fcntl.h> #include <unistd.h> #include <ctype.h> @@ -161,7 +162,7 @@ SETDEFAULTS_FUNC(mod_compress_setdefaults) { { NULL, NULL, T_CONFIG_UNSET, T_CONFIG_SCOPE_UNSET } }; - p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *)); + p->config_storage = calloc(1, srv->config_context->used * sizeof(plugin_config *)); for (i = 0; i < srv->config_context->used; i++) { plugin_config *s; @@ -860,7 +861,8 @@ PHYSICALPATH_FUNC(mod_compress_physical) { } else if (matched_encodings & HTTP_ACCEPT_ENCODING_X_GZIP) { compression_type = HTTP_ACCEPT_ENCODING_X_GZIP; compression_name = dflt_x_gzip; - } else if (matched_encodings & HTTP_ACCEPT_ENCODING_DEFLATE) { + } else { + assert(matched_encodings & HTTP_ACCEPT_ENCODING_DEFLATE); compression_type = HTTP_ACCEPT_ENCODING_DEFLATE; compression_name = dflt_deflate; } diff --git a/src/mod_dirlisting.c b/src/mod_dirlisting.c index cd317ecc..8380c05d 100644 --- a/src/mod_dirlisting.c +++ b/src/mod_dirlisting.c @@ -278,7 +278,7 @@ SETDEFAULTS_FUNC(mod_dirlisting_set_defaults) { if (!p) return HANDLER_ERROR; - p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *)); + p->config_storage = calloc(1, srv->config_context->used * sizeof(plugin_config *)); for (i = 0; i < srv->config_context->used; i++) { plugin_config *s; diff --git a/src/mod_evasive.c b/src/mod_evasive.c index 29070538..a20aff57 100644 --- a/src/mod_evasive.c +++ b/src/mod_evasive.c @@ -78,7 +78,7 @@ SETDEFAULTS_FUNC(mod_evasive_set_defaults) { { NULL, NULL, T_CONFIG_UNSET, T_CONFIG_SCOPE_UNSET } }; - p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *)); + p->config_storage = calloc(1, srv->config_context->used * sizeof(plugin_config *)); for (i = 0; i < srv->config_context->used; i++) { plugin_config *s; diff --git a/src/mod_evhost.c b/src/mod_evhost.c index 7aabf6e0..a491baad 100644 --- a/src/mod_evhost.c +++ b/src/mod_evhost.c @@ -128,7 +128,7 @@ SETDEFAULTS_FUNC(mod_evhost_set_defaults) { if (!p) return HANDLER_ERROR; - p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *)); + p->config_storage = calloc(1, srv->config_context->used * sizeof(plugin_config *)); for (i = 0; i < srv->config_context->used; i++) { plugin_config *s; diff --git a/src/mod_expire.c b/src/mod_expire.c index 734cb930..19dc0111 100644 --- a/src/mod_expire.c +++ b/src/mod_expire.c @@ -221,7 +221,7 @@ SETDEFAULTS_FUNC(mod_expire_set_defaults) { if (!p) return HANDLER_ERROR; - p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *)); + p->config_storage = calloc(1, srv->config_context->used * sizeof(plugin_config *)); for (i = 0; i < srv->config_context->used; i++) { plugin_config *s; @@ -320,7 +320,7 @@ URIHANDLER_FUNC(mod_expire_path_handler) { break; default: /* -1 is handled at parse-time */ - break; + return HANDLER_ERROR; } /* expires should be at least srv->cur_ts */ diff --git a/src/mod_extforward.c b/src/mod_extforward.c index 6289cccd..eaac3a43 100644 --- a/src/mod_extforward.c +++ b/src/mod_extforward.c @@ -165,7 +165,7 @@ SETDEFAULTS_FUNC(mod_extforward_set_defaults) { if (!p) return HANDLER_ERROR; - p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *)); + p->config_storage = calloc(1, srv->config_context->used * sizeof(plugin_config *)); for (i = 0; i < srv->config_context->used; i++) { plugin_config *s; diff --git a/src/mod_fastcgi.c b/src/mod_fastcgi.c index bcd36a23..056624be 100644 --- a/src/mod_fastcgi.c +++ b/src/mod_fastcgi.c @@ -1169,7 +1169,7 @@ SETDEFAULTS_FUNC(mod_fastcgi_set_defaults) { { NULL, NULL, T_CONFIG_UNSET, T_CONFIG_SCOPE_UNSET } }; - p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *)); + p->config_storage = calloc(1, srv->config_context->used * sizeof(plugin_config *)); for (i = 0; i < srv->config_context->used; i++) { plugin_config *s; @@ -3174,8 +3174,6 @@ SUBREQUEST_FUNC(mod_fastcgi_handle_subrequest) { /* ok, create the request */ switch(fcgi_write_request(srv, hctx)) { case HANDLER_ERROR: - host = hctx->host; - if (hctx->state == FCGI_STATE_INIT || hctx->state == FCGI_STATE_CONNECT_DELAYED) { fcgi_restart_dead_procs(srv, p, host); diff --git a/src/mod_flv_streaming.c b/src/mod_flv_streaming.c index 7a100dbd..80415073 100644 --- a/src/mod_flv_streaming.c +++ b/src/mod_flv_streaming.c @@ -84,7 +84,7 @@ SETDEFAULTS_FUNC(mod_flv_streaming_set_defaults) { if (!p) return HANDLER_ERROR; - p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *)); + p->config_storage = calloc(1, srv->config_context->used * sizeof(plugin_config *)); for (i = 0; i < srv->config_context->used; i++) { plugin_config *s; diff --git a/src/mod_indexfile.c b/src/mod_indexfile.c index c01da2f1..b46ead6c 100644 --- a/src/mod_indexfile.c +++ b/src/mod_indexfile.c @@ -81,7 +81,7 @@ SETDEFAULTS_FUNC(mod_indexfile_set_defaults) { if (!p) return HANDLER_ERROR; - p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *)); + p->config_storage = calloc(1, srv->config_context->used * sizeof(plugin_config *)); for (i = 0; i < srv->config_context->used; i++) { plugin_config *s; diff --git a/src/mod_magnet.c b/src/mod_magnet.c index d10e3ff9..0bce4d18 100644 --- a/src/mod_magnet.c +++ b/src/mod_magnet.c @@ -103,7 +103,7 @@ SETDEFAULTS_FUNC(mod_magnet_set_defaults) { if (!p) return HANDLER_ERROR; - p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *)); + p->config_storage = calloc(1, srv->config_context->used * sizeof(plugin_config *)); for (i = 0; i < srv->config_context->used; i++) { plugin_config *s; diff --git a/src/mod_mysql_vhost.c b/src/mod_mysql_vhost.c index df291865..d0f8d085 100644 --- a/src/mod_mysql_vhost.c +++ b/src/mod_mysql_vhost.c @@ -185,7 +185,7 @@ SERVER_FUNC(mod_mysql_vhost_set_defaults) { { NULL, NULL, T_CONFIG_UNSET, T_CONFIG_SCOPE_UNSET } }; - p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *)); + p->config_storage = calloc(1, srv->config_context->used * sizeof(plugin_config *)); for (i = 0; i < srv->config_context->used; i++) { plugin_config *s; diff --git a/src/mod_proxy.c b/src/mod_proxy.c index 57156ba3..2e867eb3 100644 --- a/src/mod_proxy.c +++ b/src/mod_proxy.c @@ -194,7 +194,7 @@ SETDEFAULTS_FUNC(mod_proxy_set_defaults) { { NULL, NULL, T_CONFIG_UNSET, T_CONFIG_SCOPE_UNSET } }; - p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *)); + p->config_storage = calloc(1, srv->config_context->used * sizeof(plugin_config *)); for (i = 0; i < srv->config_context->used; i++) { plugin_config *s; diff --git a/src/mod_redirect.c b/src/mod_redirect.c index e83f3782..3fdb4e37 100644 --- a/src/mod_redirect.c +++ b/src/mod_redirect.c @@ -76,7 +76,7 @@ SETDEFAULTS_FUNC(mod_redirect_set_defaults) { if (!p) return HANDLER_ERROR; /* 0 */ - p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *)); + p->config_storage = calloc(1, srv->config_context->used * sizeof(plugin_config *)); for (i = 0; i < srv->config_context->used; i++) { plugin_config *s; diff --git a/src/mod_rewrite.c b/src/mod_rewrite.c index 9672c4e5..5d1f8322 100644 --- a/src/mod_rewrite.c +++ b/src/mod_rewrite.c @@ -242,7 +242,7 @@ SETDEFAULTS_FUNC(mod_rewrite_set_defaults) { if (!p) return HANDLER_ERROR; /* 0 */ - p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *)); + p->config_storage = calloc(1, srv->config_context->used * sizeof(plugin_config *)); #else UNUSED(p_d); #endif diff --git a/src/mod_rrdtool.c b/src/mod_rrdtool.c index 67a02156..122c79ec 100644 --- a/src/mod_rrdtool.c +++ b/src/mod_rrdtool.c @@ -7,6 +7,7 @@ #include "plugin.h" #include <sys/types.h> +#include <assert.h> #include <fcntl.h> #include <stdlib.h> #include <stdio.h> @@ -345,7 +346,8 @@ SETDEFAULTS_FUNC(mod_rrd_set_defaults) { if (!p) return HANDLER_ERROR; - p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *)); + assert(srv->config_context->used > 0); + p->config_storage = calloc(1, srv->config_context->used * sizeof(plugin_config *)); for (i = 0; i < srv->config_context->used; i++) { plugin_config *s; diff --git a/src/mod_scgi.c b/src/mod_scgi.c index 56b0aa9d..e61bd730 100644 --- a/src/mod_scgi.c +++ b/src/mod_scgi.c @@ -925,7 +925,7 @@ SETDEFAULTS_FUNC(mod_scgi_set_defaults) { { NULL, NULL, T_CONFIG_UNSET, T_CONFIG_SCOPE_UNSET } }; - p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *)); + p->config_storage = calloc(1, srv->config_context->used * sizeof(plugin_config *)); for (i = 0; i < srv->config_context->used; i++) { plugin_config *s; diff --git a/src/mod_secure_download.c b/src/mod_secure_download.c index a9c031fe..ca1f625d 100644 --- a/src/mod_secure_download.c +++ b/src/mod_secure_download.c @@ -97,7 +97,7 @@ SETDEFAULTS_FUNC(mod_secdownload_set_defaults) { if (!p) return HANDLER_ERROR; - p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *)); + p->config_storage = calloc(1, srv->config_context->used * sizeof(plugin_config *)); for (i = 0; i < srv->config_context->used; i++) { plugin_config *s; diff --git a/src/mod_setenv.c b/src/mod_setenv.c index d9cf94d9..ad916091 100644 --- a/src/mod_setenv.c +++ b/src/mod_setenv.c @@ -96,7 +96,7 @@ SETDEFAULTS_FUNC(mod_setenv_set_defaults) { if (!p) return HANDLER_ERROR; - p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *)); + p->config_storage = calloc(1, srv->config_context->used * sizeof(plugin_config *)); for (i = 0; i < srv->config_context->used; i++) { plugin_config *s; diff --git a/src/mod_simple_vhost.c b/src/mod_simple_vhost.c index 69227bda..a3363a1f 100644 --- a/src/mod_simple_vhost.c +++ b/src/mod_simple_vhost.c @@ -89,7 +89,7 @@ SETDEFAULTS_FUNC(mod_simple_vhost_set_defaults) { if (!p) return HANDLER_ERROR; - p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *)); + p->config_storage = calloc(1, srv->config_context->used * sizeof(plugin_config *)); for (i = 0; i < srv->config_context->used; i++) { plugin_config *s; diff --git a/src/mod_skeleton.c b/src/mod_skeleton.c index 66de2b1f..68d272d3 100644 --- a/src/mod_skeleton.c +++ b/src/mod_skeleton.c @@ -108,7 +108,7 @@ SETDEFAULTS_FUNC(mod_skeleton_set_defaults) { if (!p) return HANDLER_ERROR; - p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *)); + p->config_storage = calloc(1, srv->config_context->used * sizeof(plugin_config *)); for (i = 0; i < srv->config_context->used; i++) { plugin_config *s; diff --git a/src/mod_ssi.c b/src/mod_ssi.c index 1d77a7b9..31e10aff 100644 --- a/src/mod_ssi.c +++ b/src/mod_ssi.c @@ -108,7 +108,7 @@ SETDEFAULTS_FUNC(mod_ssi_set_defaults) { if (!p) return HANDLER_ERROR; - p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *)); + p->config_storage = calloc(1, srv->config_context->used * sizeof(plugin_config *)); for (i = 0; i < srv->config_context->used; i++) { plugin_config *s; diff --git a/src/mod_staticfile.c b/src/mod_staticfile.c index f5114dd3..af0718eb 100644 --- a/src/mod_staticfile.c +++ b/src/mod_staticfile.c @@ -91,7 +91,7 @@ SETDEFAULTS_FUNC(mod_staticfile_set_defaults) { if (!p) return HANDLER_ERROR; - p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *)); + p->config_storage = calloc(1, srv->config_context->used * sizeof(plugin_config *)); for (i = 0; i < srv->config_context->used; i++) { plugin_config *s; diff --git a/src/mod_status.c b/src/mod_status.c index 76061f98..f0d753bc 100644 --- a/src/mod_status.c +++ b/src/mod_status.c @@ -115,7 +115,7 @@ SETDEFAULTS_FUNC(mod_status_set_defaults) { if (!p) return HANDLER_ERROR; - p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *)); + p->config_storage = calloc(1, srv->config_context->used * sizeof(plugin_config *)); for (i = 0; i < srv->config_context->used; i++) { plugin_config *s; diff --git a/src/mod_trigger_b4_dl.c b/src/mod_trigger_b4_dl.c index 4adaa5f2..5eb2d8b2 100644 --- a/src/mod_trigger_b4_dl.c +++ b/src/mod_trigger_b4_dl.c @@ -143,7 +143,7 @@ SETDEFAULTS_FUNC(mod_trigger_b4_dl_set_defaults) { if (!p) return HANDLER_ERROR; - p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *)); + p->config_storage = calloc(1, srv->config_context->used * sizeof(plugin_config *)); for (i = 0; i < srv->config_context->used; i++) { plugin_config *s; diff --git a/src/mod_uploadprogress.c b/src/mod_uploadprogress.c index 7744057e..a6cc057a 100644 --- a/src/mod_uploadprogress.c +++ b/src/mod_uploadprogress.c @@ -201,7 +201,7 @@ SETDEFAULTS_FUNC(mod_uploadprogress_set_defaults) { if (!p) return HANDLER_ERROR; - p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *)); + p->config_storage = calloc(1, srv->config_context->used * sizeof(plugin_config *)); for (i = 0; i < srv->config_context->used; i++) { plugin_config *s; diff --git a/src/mod_userdir.c b/src/mod_userdir.c index 5333003f..9063bed4 100644 --- a/src/mod_userdir.c +++ b/src/mod_userdir.c @@ -96,7 +96,7 @@ SETDEFAULTS_FUNC(mod_userdir_set_defaults) { if (!p) return HANDLER_ERROR; - p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *)); + p->config_storage = calloc(1, srv->config_context->used * sizeof(plugin_config *)); for (i = 0; i < srv->config_context->used; i++) { plugin_config *s; diff --git a/src/mod_usertrack.c b/src/mod_usertrack.c index 9ecabdcc..4f4f264a 100644 --- a/src/mod_usertrack.c +++ b/src/mod_usertrack.c @@ -78,7 +78,7 @@ SETDEFAULTS_FUNC(mod_usertrack_set_defaults) { if (!p) return HANDLER_ERROR; - p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *)); + p->config_storage = calloc(1, srv->config_context->used * sizeof(plugin_config *)); for (i = 0; i < srv->config_context->used; i++) { plugin_config *s; diff --git a/src/mod_webdav.c b/src/mod_webdav.c index 2231ab85..7f85ce5d 100644 --- a/src/mod_webdav.c +++ b/src/mod_webdav.c @@ -179,7 +179,7 @@ SETDEFAULTS_FUNC(mod_webdav_set_defaults) { if (!p) return HANDLER_ERROR; - p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *)); + p->config_storage = calloc(1, srv->config_context->used * sizeof(plugin_config *)); for (i = 0; i < srv->config_context->used; i++) { plugin_config *s; diff --git a/src/network.c b/src/network.c index f6d890b6..4b8f75f6 100644 --- a/src/network.c +++ b/src/network.c @@ -453,10 +453,10 @@ static int network_server_init(server *srv, buffer *host_token, specific_config if (srv->srv_sockets.size == 0) { srv->srv_sockets.size = 4; srv->srv_sockets.used = 0; - srv->srv_sockets.ptr = malloc(srv->srv_sockets.size * sizeof(server_socket)); + srv->srv_sockets.ptr = malloc(srv->srv_sockets.size * sizeof(server_socket*)); } else if (srv->srv_sockets.used == srv->srv_sockets.size) { srv->srv_sockets.size += 4; - srv->srv_sockets.ptr = realloc(srv->srv_sockets.ptr, srv->srv_sockets.size * sizeof(server_socket)); + srv->srv_sockets.ptr = realloc(srv->srv_sockets.ptr, srv->srv_sockets.size * sizeof(server_socket*)); } srv->srv_sockets.ptr[srv->srv_sockets.used++] = srv_socket; diff --git a/src/stat_cache.c b/src/stat_cache.c index 3edaeeb6..e995f3b1 100644 --- a/src/stat_cache.c +++ b/src/stat_cache.c @@ -713,7 +713,7 @@ int stat_cache_trigger_cleanup(server *srv) { if (!sc->files) return 0; - keys = calloc(1, sizeof(size_t) * sc->files->size); + keys = calloc(1, sizeof(int) * sc->files->size); stat_cache_tag_old_entries(srv, sc->files, keys, &max_ndx); |