libprelude/master: Fixes some warnings uncovered by -Wextra
[email protected] Wed, 20 Jan 2010 16:16:08 +0100 (CET)
| Newsgroups | gmane.comp.security.ids.prelude.cvs |
|---|---|
| Message-ID | <[email protected]> |
commit b8187d69561efca533697fd976b5f8597f923c4a Author: Yoann Vandoorselaere <[email protected]> Date: Mon Jan 18 17:46:37 2010 +0100 Fixes some warnings uncovered by -Wextra ======================================== prelude-admin/prelude-admin.c | 27 ++++---- prelude-admin/server.c | 22 +++--- prelude-admin/tls-register.c | 12 ++-- src/common.c | 4 +- src/config-engine.c | 27 ++++---- src/idmef-additional-data.c | 4 +- src/idmef-class.c | 6 +- src/idmef-criterion-value.c | 7 +- src/idmef-message-helpers.c | 1 + src/idmef-path.c | 18 +++-- src/idmef-tree-wrap.c | 80 +++++++++++----------- src/idmef-value-type.c | 10 ++- src/idmef-wrappers-gen/GenerateIDMEFTreeData.pm | 7 +- src/idmef-wrappers-gen/GenerateIDMEFTreeWrapC.pm | 4 +- src/include/idmef-path.h | 4 +- src/include/idmef-tree-data.h | 50 +++++++------- src/libprelude-error/strerror.c | 2 +- src/libprelude-error/strsource.c | 2 +- src/prelude-connection.c | 24 ++++--- src/prelude-failover.c | 10 ++-- src/prelude-io.c | 7 +- src/prelude-log.c | 8 +- src/prelude-option-wide.c | 2 +- src/prelude-string.c | 2 +- src/prelude.c | 12 +++- 25 files changed, 190 insertions(+), 162 deletions(-) ======================================== diff --git a/prelude-admin/prelude-admin.c b/prelude-admin/prelude-admin.c index 65f0dbe..9f87c4d 100644 --- a/prelude-admin/prelude-admin.c +++ b/prelude-admin/prelude-admin.c @@ -126,11 +126,11 @@ static const char *get_tls_config(void) static int chown_cb(const char *filename, const struct stat *st, int flag) { int ret; - uid_t uid; - gid_t gid; + prelude_uid_t uid; + prelude_gid_t gid; - uid = uid_set ? prelude_client_profile_get_uid(profile) : -1; - gid = gid_set ? prelude_client_profile_get_gid(profile) : -1; + uid = uid_set ? prelude_client_profile_get_uid(profile) : (prelude_uid_t) -1; + gid = gid_set ? prelude_client_profile_get_gid(profile) : (prelude_gid_t) -1; ret = chown(filename, uid, gid); if ( ret < 0 ) @@ -404,7 +404,7 @@ static void print_send_help(void) #if !((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) static int set_uid(prelude_option_t *opt, const char *optarg, prelude_string_t *err, void *context) { - uid_t uid; + prelude_uid_t uid; const char *p; struct passwd *pw; @@ -432,7 +432,7 @@ static int set_uid(prelude_option_t *opt, const char *optarg, prelude_string_t * static int set_gid(prelude_option_t *opt, const char *optarg, prelude_string_t *err, void *context) { - uid_t gid; + prelude_gid_t gid; const char *p; struct group *grp; @@ -1901,7 +1901,7 @@ typedef struct { static void print_info(const char *info, unsigned int pad) { - int i; + unsigned int i; size_t len = strlen(info); printf("%s", info); @@ -1937,7 +1937,7 @@ static void print_add(unsigned int sub, const char *name, const char *uid, const static void print_added(void) { - int i; + unsigned int i; print_entry_t *ent; prelude_list_t *tmp, *bkp; unsigned int mtotal = 0, mpartial = 0; @@ -2016,8 +2016,8 @@ static int list_cmd(int argc, char **argv) #endif gnutls_datum data; prelude_string_t *str; - unsigned int cert_max; - int ret, i, permission; + unsigned int cert_max, i; + int ret, permission; gnutls_x509_crt certs[1024]; char dirname[PATH_MAX]; char buf[1024], analyzerid[128], uidbuf[128] = { 0 }, gidbuf[128] = { 0 }; @@ -2148,7 +2148,7 @@ static const struct cmdtbl tbl[] = { static int print_help(void) { - int i; + unsigned int i; fprintf(stderr, "\nUsage %s <subcommand> [options] [args]\n", myprogname); fprintf(stderr, "Type \"%s <subcommand>\" for help on a specific subcommand.\n\n", myprogname); @@ -2163,7 +2163,7 @@ static int print_help(void) static int print_detailed_help(prelude_option_t *opt, const char *optarg, prelude_string_t *err, void *context) { - int i; + unsigned int i; for ( i = 0; i < sizeof(tbl) / sizeof(*tbl); i++ ) { if ( strcmp(arg_command, tbl[i].cmd) == 0 ) { @@ -2179,7 +2179,8 @@ static int print_detailed_help(prelude_option_t *opt, const char *optarg, prelud int main(int argc, char **argv) { - int i, ret = -1; + int ret = -1; + unsigned int i; const char *slash; slash = strrchr(argv[0], '/'); diff --git a/prelude-admin/server.c b/prelude-admin/server.c index fca3930..df765bc 100644 --- a/prelude-admin/server.c +++ b/prelude-admin/server.c @@ -165,29 +165,31 @@ static int process_event(prelude_client_profile_t *cp, int server_sock, prelude_ void *inaddr; socklen_t len; int ret, csock; - struct sockaddr *sa; + union { + struct sockaddr sa; #ifndef HAVE_IPV6 - struct sockaddr_in addr; + struct sockaddr_in addr; +# define ADDR_PORT(x) (x).sin_port #else - struct sockaddr_in6 addr; + struct sockaddr_in6 addr; +# define ADDR_PORT(x) (x).sin6_port #endif + } addr; - len = sizeof(addr); - sa = (struct sockaddr *) &addr; + len = sizeof(addr.addr); - csock = accept(server_sock, sa, &len); + csock = accept(server_sock, &addr.addr, &len); if ( csock < 0 ) { fprintf(stderr, "accept returned an error: %s.\n", strerror(errno)); return -1; } - inaddr = prelude_sockaddr_get_inaddr(sa); + inaddr = prelude_sockaddr_get_inaddr(&addr.sa); if ( ! inaddr ) return -1; - inet_ntop(sa->sa_family, inaddr, buf, sizeof(buf)); - snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), ":%u", - ntohs(((struct sockaddr_in *) sa)->sin_port)); + inet_ntop(addr.sa.sa_family, inaddr, buf, sizeof(buf)); + snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), ":%u", ntohs(ADDR_PORT(addr.addr))); prelude_io_set_sys_io(fd, csock); diff --git a/prelude-admin/tls-register.c b/prelude-admin/tls-register.c index 15b1d21..0361625 100644 --- a/prelude-admin/tls-register.c +++ b/prelude-admin/tls-register.c @@ -252,7 +252,7 @@ static ssize_t safe_write(int fd, const unsigned char *buf, size_t size) -static int save_buf(const char *filename, uid_t uid, gid_t gid, const unsigned char *buf, size_t size) +static int save_buf(const char *filename, prelude_uid_t uid, prelude_gid_t gid, const unsigned char *buf, size_t size) { ssize_t sret; int fd, ret, flags = 0; @@ -276,7 +276,7 @@ static int save_buf(const char *filename, uid_t uid, gid_t gid, const unsigned c } sret = safe_write(fd, buf, size); - if ( sret != size ) { + if ( sret < 0 || (size_t) sret != size ) { fprintf(stderr, "error writing to %s: %s.\n", filename, strerror(errno)); safe_close(fd); return -1; @@ -532,7 +532,7 @@ static gnutls_x509_crq generate_certificate_request(prelude_client_profile_t *cp static gnutls_x509_privkey gen_crypto(prelude_client_profile_t *cp, - const char *filename, uid_t uid, gid_t gid) + const char *filename, prelude_uid_t uid, prelude_gid_t gid) { int ret; char buf[65535]; @@ -724,7 +724,7 @@ int tls_handle_certificate_request(const char *srcinfo, prelude_client_profile_t gnutls_x509_crt_export(gencrt, GNUTLS_X509_FMT_PEM, buf, &size); ret = prelude_io_write_delimited(fd, buf, size); - if ( ret != size ) { + if ( ret < 0 || (size_t) ret != size ) { prelude_perror(ret, "error sending signed certificate"); return -1; } @@ -740,7 +740,7 @@ int tls_handle_certificate_request(const char *srcinfo, prelude_client_profile_t gnutls_x509_crt_export(crt, GNUTLS_X509_FMT_PEM, buf, &size); ret = prelude_io_write_delimited(fd, buf, size); - if ( ret != size ) { + if ( ret < 0 || (size_t) ret != size ) { prelude_perror(ret, "error sending signed certificate"); return -1; } @@ -770,7 +770,7 @@ int tls_request_certificate(prelude_client_profile_t *cp, prelude_io_t *fd, gnutls_x509_crq_deinit(crq); ret = prelude_io_write_delimited(fd, buf, size); - if ( ret != size ) { + if ( ret < 0 || (size_t) ret != size ) { prelude_perror(ret, "error sending certificate request"); return -1; } diff --git a/src/common.c b/src/common.c index f4bc2df..dd95bc9 100644 --- a/src/common.c +++ b/src/common.c @@ -351,7 +351,7 @@ int _prelude_get_file_name_and_path(const char *str, char **name, char **path) needsep = (_prelude_init_cwd[cwdlen - 1] != '/' ) ? '/' : '\0'; ret = snprintf(pathname, sizeof(pathname), "%s%c", _prelude_init_cwd, needsep); - if ( ret < 0 || ret >= sizeof(pathname) ) + if ( ret < 0 || (size_t) ret >= sizeof(pathname) ) return prelude_error_from_errno(errno); } @@ -514,7 +514,7 @@ prelude_msg_priority_t _idmef_impact_severity_to_msg_priority(idmef_impact_sever PRELUDE_MSG_PRIORITY_HIGH, /* IDMEF_IMPACT_SEVERITY_HIGH -> 4 */ }; - if ( severity >= (sizeof(priority) / sizeof(*priority)) ) + if ( severity < 0 || (size_t) severity >= (sizeof(priority) / sizeof(*priority)) ) return PRELUDE_MSG_PRIORITY_NONE; return priority[severity]; diff --git a/src/config-engine.c b/src/config-engine.c index 091b69e..62f0ed1 100644 --- a/src/config-engine.c +++ b/src/config-engine.c @@ -315,7 +315,8 @@ static int strip_value(char **out, const char *in, size_t tlen) static int value_resolve_variable(const char *ptr, char **out_p) { - int i, ret; + int ret; + size_t i; char buf[512]; const char *tmp; prelude_string_t *out; @@ -368,7 +369,7 @@ static int parse_buffer(const char *str, char **entry, char **value) return -1; ptr = strchr(str, '='); - len = (ptr) ? ptr - str : strlen(str); + len = (ptr) ? (size_t) (ptr - str) : strlen(str); ret = strip_value(entry, str, len); if ( ret < 0 ) @@ -486,11 +487,11 @@ static int search_entry(config_t *cfg, const char *section, if ( section && ! index ) { - i = search_section(cfg, section, 0); - if ( i < 0 ) - return -1; + ret = search_section(cfg, section, 0); + if ( ret < 0 ) + return ret; - i++; + i = (unsigned int) ret + 1; } for ( ; i < cfg->elements; i++ ) { @@ -543,7 +544,7 @@ static char *create_new_line(const char *entry, const char *val) else ret = snprintf(line, len, "%s", entry); - if ( ret < 0 || ret >= len ) { + if ( ret < 0 || (size_t) ret >= len ) { free(line); return NULL; } @@ -712,16 +713,16 @@ int _config_set(config_t *cfg, const char *section, const char *entry, const cha int _config_del(config_t *cfg, const char *section, const char *entry) { - int start, end; + int start; char *tmp, *value; - unsigned int line = 0; + unsigned int line = 0, end; if ( ! entry ) { start = search_section(cfg, section, 0); if ( start < 0 ) - return -1; + return start; - for ( end = start + 1; end < cfg->elements && ! is_section(cfg->content[end]); end++ ); + for ( end = (unsigned int) start + 1; end < cfg->elements && ! is_section(cfg->content[end]); end++ ); while ( start >= 2 && ! *cfg->content[start - 1] && ! *cfg->content[start - 2] ) start--; @@ -729,12 +730,12 @@ int _config_del(config_t *cfg, const char *section, const char *entry) } else { start = search_entry(cfg, section, entry, &line, &tmp, &value); if ( start < 0 ) - return -1; + return start; free_val(&tmp); free_val(&value); - end = start + 1; + end = (unsigned int) start + 1; } cfg->need_sync = TRUE; diff --git a/src/idmef-additional-data.c b/src/idmef-additional-data.c index 3db67a4..27accd4 100644 --- a/src/idmef-additional-data.c +++ b/src/idmef-additional-data.c @@ -179,7 +179,7 @@ static const struct { static int check_type(idmef_additional_data_type_t type, const unsigned char *buf, size_t len) { - if ( type < 0 || type >= sizeof(idmef_additional_data_type_table) / sizeof(*idmef_additional_data_type_table) ) + if ( type < 0 || (size_t) type >= sizeof(idmef_additional_data_type_table) / sizeof(*idmef_additional_data_type_table) ) return -1; if ( idmef_additional_data_type_table[type].len != 0 && @@ -199,7 +199,7 @@ static int check_type(idmef_additional_data_type_t type, const unsigned char *bu static idmef_data_type_t idmef_additional_data_type_to_data_type(idmef_additional_data_type_t type) { - if ( type < 0 || type >= sizeof(idmef_additional_data_type_table) / sizeof(*idmef_additional_data_type_table) ) + if ( type < 0 || (size_t) type >= sizeof(idmef_additional_data_type_table) / sizeof(*idmef_additional_data_type_table) ) return IDMEF_DATA_TYPE_UNKNOWN; return idmef_additional_data_type_table[type].d_type; diff --git a/src/idmef-class.c b/src/idmef-class.c index 91aa51b..c9b7a27 100644 --- a/src/idmef-class.c +++ b/src/idmef-class.c @@ -52,7 +52,7 @@ static inline int is_class_valid(idmef_class_id_t class) { - if ( class < 0 || class >= sizeof(object_data) / sizeof(*object_data) ) + if ( class < 0 || (size_t) class >= sizeof(object_data) / sizeof(*object_data) ) return prelude_error_verbose(PRELUDE_ERROR_IDMEF_CLASS_UNKNOWN, "Unknown IDMEF class '%d'", (int) class); return 0; @@ -67,7 +67,7 @@ static inline int is_child_valid(idmef_class_id_t class, idmef_class_child_id_t if ( ret < 0 ) return ret; - if ( child < 0 || child >= object_data[class].children_list_elem ) + if ( child < 0 || (size_t) child >= object_data[class].children_list_elem ) return prelude_error_verbose(PRELUDE_ERROR_IDMEF_CLASS_UNKNOWN_CHILD, "Unknown IDMEF child '%d' for class '%s'", (int) child, object_data[class].name); @@ -80,7 +80,7 @@ static inline int is_child_valid(idmef_class_id_t class, idmef_class_child_id_t idmef_class_child_id_t idmef_class_find_child(idmef_class_id_t class, const char *name) { int ret; - idmef_class_child_id_t i; + size_t i; const children_list_t *list; ret = is_class_valid(class); diff --git a/src/idmef-criterion-value.c b/src/idmef-criterion-value.c index 70efd0d..8a30494 100644 --- a/src/idmef-criterion-value.c +++ b/src/idmef-criterion-value.c @@ -118,7 +118,7 @@ static int btime_parse_month(const char *value, int *out) return 0; } - for ( i = 0; i < sizeof(months) / sizeof(*months); i++ ) { + for ( i = 0; i < (int) (sizeof(months) / sizeof(*months)); i++ ) { if ( strcasecmp(value, months[i]) == 0 ) { *out = i; /* Numbered 0 to 11 */ return 0; @@ -148,7 +148,7 @@ static int btime_parse_wday(const char *value, int *out) return 0; } - for ( i = 0; i < sizeof(days) / sizeof(*days); i++ ) { + for ( i = 0; i < (int) (sizeof(days) / sizeof(*days)); i++ ) { if ( strcasecmp(value, days[i]) == 0 ) { *out = i; /* Numbered 0 (sunday) to 6 */ @@ -548,7 +548,8 @@ static int btime_parse_gmtoff(const char *param, int *out) static int btime_parse(struct tm *lt, const char *time) { - int i, ret; + int ret; + size_t i; long gmt_offset; char *end = NULL; struct { diff --git a/src/idmef-message-helpers.c b/src/idmef-message-helpers.c index 626ace2..827e043 100644 --- a/src/idmef-message-helpers.c +++ b/src/idmef-message-helpers.c @@ -21,6 +21,7 @@ * *****/ +#include <stdlib.h> #include <string.h> #include "prelude.h" diff --git a/src/idmef-path.c b/src/idmef-path.c index a63d702..e47b0b4 100644 --- a/src/idmef-path.c +++ b/src/idmef-path.c @@ -254,7 +254,7 @@ static int idmef_path_get_nth_internal(idmef_value_t **value, const idmef_path_t unsigned int depth, prelude_list_t *list, idmef_class_id_t parent_class, int which) { - unsigned int cnt = 0; + int cnt = 0; prelude_list_t *tmp; if ( which >= 0 ) { @@ -349,8 +349,9 @@ static void delete_listed_child(void *parent, idmef_class_id_t class, const idme static int _idmef_path_set(const idmef_path_t *path, idmef_message_t *message, idmef_value_t *value, prelude_bool_t *delete_list) { + size_t i; void *ptr; - int i, ret, index; + int ret, index; idmef_value_type_id_t tid; const idmef_path_element_t *elem; idmef_class_id_t class, parent_class; @@ -701,7 +702,7 @@ int idmef_path_new_v(idmef_path_t **path, const char *format, va_list args) prelude_return_val_if_fail(format, prelude_error(PRELUDE_ERROR_ASSERTION)); ret = vsnprintf(buffer, sizeof(buffer), format, args); - if ( ret < 0 || ret > sizeof(buffer) - 1 ) + if ( ret < 0 || (size_t) ret > sizeof(buffer) - 1 ) return prelude_error(PRELUDE_ERROR_IDMEF_PATH_LENGTH); return idmef_path_new_fast(path, buffer); @@ -850,7 +851,7 @@ static inline int invalidate(idmef_path_t *path) * * Returns: 0 on success, a negative value if an error occured. */ -int idmef_path_set_index(idmef_path_t *path, unsigned int depth, unsigned int index) +int idmef_path_set_index(idmef_path_t *path, unsigned int depth, int index) { int ret; @@ -938,7 +939,7 @@ int idmef_path_get_index(const idmef_path_t *path, unsigned int depth) * * Returns: 0 on success, or a negative value if an error occured. */ -int idmef_path_make_child(idmef_path_t *path, const char *child_name, unsigned int index) +int idmef_path_make_child(idmef_path_t *path, const char *child_name, int index) { int ret; char buf[16] = { 0 }; @@ -1198,7 +1199,7 @@ idmef_path_t *idmef_path_ref(idmef_path_t *path) */ prelude_bool_t idmef_path_is_ambiguous(const idmef_path_t *path) { - int i; + size_t i; prelude_return_val_if_fail(path, FALSE); @@ -1220,7 +1221,8 @@ prelude_bool_t idmef_path_is_ambiguous(const idmef_path_t *path) */ int idmef_path_has_lists(const idmef_path_t *path) { - int i, ret = 0; + size_t i; + int ret = 0; prelude_return_val_if_fail(path, 0); @@ -1280,7 +1282,7 @@ const char *idmef_path_get_name(const idmef_path_t *path, int depth) const idmef_path_element_t *elem; prelude_return_val_if_fail(path, NULL); - prelude_return_val_if_fail(depth < 0 || depth < path->depth, NULL); + prelude_return_val_if_fail(depth < 0 || (size_t) depth < path->depth, NULL); if ( depth < 0 ) return path->name; diff --git a/src/idmef-tree-wrap.c b/src/idmef-tree-wrap.c index 902f757..a5a6b42 100644 --- a/src/idmef-tree-wrap.c +++ b/src/idmef-tree-wrap.c @@ -265,7 +265,7 @@ static void list_insert(prelude_list_t *head, prelude_list_t *item, int pos) */ idmef_additional_data_type_t idmef_additional_data_type_to_numeric(const char *name) { - int i; + size_t i; const struct { idmef_additional_data_type_t val; const char *name; @@ -320,7 +320,7 @@ const char *idmef_additional_data_type_to_string(idmef_additional_data_type_t va { IDMEF_ADDITIONAL_DATA_TYPE_XML, "xml" }, }; - if ( val < 0 || val >= (sizeof(tbl) / sizeof(*tbl)) ) + if ( val < 0 || (size_t) val >= (sizeof(tbl) / sizeof(*tbl)) ) return NULL; return tbl[val].name; @@ -345,7 +345,7 @@ struct idmef_additional_data { */ idmef_reference_origin_t idmef_reference_origin_to_numeric(const char *name) { - int i; + size_t i; const struct { idmef_reference_origin_t val; const char *name; @@ -390,7 +390,7 @@ const char *idmef_reference_origin_to_string(idmef_reference_origin_t val) { IDMEF_REFERENCE_ORIGIN_OSVDB, "osvdb" }, }; - if ( val < 0 || val >= (sizeof(tbl) / sizeof(*tbl)) ) + if ( val < 0 || (size_t) val >= (sizeof(tbl) / sizeof(*tbl)) ) return NULL; return tbl[val].name; @@ -428,7 +428,7 @@ struct idmef_classification { */ idmef_user_id_type_t idmef_user_id_type_to_numeric(const char *name) { - int i; + size_t i; const struct { idmef_user_id_type_t val; const char *name; @@ -475,7 +475,7 @@ const char *idmef_user_id_type_to_string(idmef_user_id_type_t val) { IDMEF_USER_ID_TYPE_OTHER_PRIVS, "other-privs" }, }; - if ( val < 0 || val >= (sizeof(tbl) / sizeof(*tbl)) ) + if ( val < 0 || (size_t) val >= (sizeof(tbl) / sizeof(*tbl)) ) return NULL; return tbl[val].name; @@ -502,7 +502,7 @@ struct idmef_user_id { */ idmef_user_category_t idmef_user_category_to_numeric(const char *name) { - int i; + size_t i; const struct { idmef_user_category_t val; const char *name; @@ -541,7 +541,7 @@ const char *idmef_user_category_to_string(idmef_user_category_t val) { IDMEF_USER_CATEGORY_OS_DEVICE, "os-device" }, }; - if ( val < 0 || val >= (sizeof(tbl) / sizeof(*tbl)) ) + if ( val < 0 || (size_t) val >= (sizeof(tbl) / sizeof(*tbl)) ) return NULL; return tbl[val].name; @@ -565,7 +565,7 @@ struct idmef_user { */ idmef_address_category_t idmef_address_category_to_numeric(const char *name) { - int i; + size_t i; const struct { idmef_address_category_t val; const char *name; @@ -628,7 +628,7 @@ const char *idmef_address_category_to_string(idmef_address_category_t val) { IDMEF_ADDRESS_CATEGORY_IPV6_NET_MASK, "ipv6-net-mask" }, }; - if ( val < 0 || val >= (sizeof(tbl) / sizeof(*tbl)) ) + if ( val < 0 || (size_t) val >= (sizeof(tbl) / sizeof(*tbl)) ) return NULL; return tbl[val].name; @@ -701,7 +701,7 @@ struct idmef_snmp_service { */ idmef_service_type_t idmef_service_type_to_numeric(const char *name) { - int i; + size_t i; const struct { idmef_service_type_t val; const char *name; @@ -740,7 +740,7 @@ const char *idmef_service_type_to_string(idmef_service_type_t val) { IDMEF_SERVICE_TYPE_SNMP, "snmp" }, }; - if ( val < 0 || val >= (sizeof(tbl) / sizeof(*tbl)) ) + if ( val < 0 || (size_t) val >= (sizeof(tbl) / sizeof(*tbl)) ) return NULL; return tbl[val].name; @@ -777,7 +777,7 @@ struct idmef_service { */ idmef_node_category_t idmef_node_category_to_numeric(const char *name) { - int i; + size_t i; const struct { idmef_node_category_t val; const char *name; @@ -836,7 +836,7 @@ const char *idmef_node_category_to_string(idmef_node_category_t val) { IDMEF_NODE_CATEGORY_WFW, "wfw" }, }; - if ( val < 0 || val >= (sizeof(tbl) / sizeof(*tbl)) ) + if ( val < 0 || (size_t) val >= (sizeof(tbl) / sizeof(*tbl)) ) return NULL; return tbl[val].name; @@ -862,7 +862,7 @@ struct idmef_node { */ idmef_source_spoofed_t idmef_source_spoofed_to_numeric(const char *name) { - int i; + size_t i; const struct { idmef_source_spoofed_t val; const char *name; @@ -901,7 +901,7 @@ const char *idmef_source_spoofed_to_string(idmef_source_spoofed_t val) { IDMEF_SOURCE_SPOOFED_NO, "no" }, }; - if ( val < 0 || val >= (sizeof(tbl) / sizeof(*tbl)) ) + if ( val < 0 || (size_t) val >= (sizeof(tbl) / sizeof(*tbl)) ) return NULL; return tbl[val].name; @@ -957,7 +957,7 @@ struct idmef_inode { */ idmef_checksum_algorithm_t idmef_checksum_algorithm_to_numeric(const char *name) { - int i; + size_t i; const struct { idmef_checksum_algorithm_t val; const char *name; @@ -1010,7 +1010,7 @@ const char *idmef_checksum_algorithm_to_string(idmef_checksum_algorithm_t val) { IDMEF_CHECKSUM_ALGORITHM_GOST, "Gost" }, }; - if ( val < 0 || val >= (sizeof(tbl) / sizeof(*tbl)) ) + if ( val < 0 || (size_t) val >= (sizeof(tbl) / sizeof(*tbl)) ) return NULL; return tbl[val].name; @@ -1035,7 +1035,7 @@ struct idmef_checksum { */ idmef_file_category_t idmef_file_category_to_numeric(const char *name) { - int i; + size_t i; const struct { idmef_file_category_t val; const char *name; @@ -1072,7 +1072,7 @@ const char *idmef_file_category_to_string(idmef_file_category_t val) { IDMEF_FILE_CATEGORY_ORIGINAL, "original" }, }; - if ( val < 0 || val >= (sizeof(tbl) / sizeof(*tbl)) ) + if ( val < 0 || (size_t) val >= (sizeof(tbl) / sizeof(*tbl)) ) return NULL; return tbl[val].name; @@ -1086,7 +1086,7 @@ const char *idmef_file_category_to_string(idmef_file_category_t val) */ idmef_file_fstype_t idmef_file_fstype_to_numeric(const char *name) { - int i; + size_t i; const struct { idmef_file_fstype_t val; const char *name; @@ -1139,7 +1139,7 @@ const char *idmef_file_fstype_to_string(idmef_file_fstype_t val) { IDMEF_FILE_FSTYPE_ISO9660, "iso9660" }, }; - if ( val < 0 || val >= (sizeof(tbl) / sizeof(*tbl)) ) + if ( val < 0 || (size_t) val >= (sizeof(tbl) / sizeof(*tbl)) ) return NULL; return tbl[val].name; @@ -1184,7 +1184,7 @@ struct idmef_file { */ idmef_linkage_category_t idmef_linkage_category_to_numeric(const char *name) { - int i; + size_t i; const struct { idmef_linkage_category_t val; const char *name; @@ -1229,7 +1229,7 @@ const char *idmef_linkage_category_to_string(idmef_linkage_category_t val) { IDMEF_LINKAGE_CATEGORY_SYMBOLIC_LINK, "symbolic-link" }, }; - if ( val < 0 || val >= (sizeof(tbl) / sizeof(*tbl)) ) + if ( val < 0 || (size_t) val >= (sizeof(tbl) / sizeof(*tbl)) ) return NULL; return tbl[val].name; @@ -1256,7 +1256,7 @@ struct idmef_linkage { */ idmef_target_decoy_t idmef_target_decoy_to_numeric(const char *name) { - int i; + size_t i; const struct { idmef_target_decoy_t val; const char *name; @@ -1295,7 +1295,7 @@ const char *idmef_target_decoy_to_string(idmef_target_decoy_t val) { IDMEF_TARGET_DECOY_NO, "no" }, }; - if ( val < 0 || val >= (sizeof(tbl) / sizeof(*tbl)) ) + if ( val < 0 || (size_t) val >= (sizeof(tbl) / sizeof(*tbl)) ) return NULL; return tbl[val].name; @@ -1360,7 +1360,7 @@ struct idmef_alertident { */ idmef_impact_severity_t idmef_impact_severity_to_numeric(const char *name) { - int i; + size_t i; const struct { idmef_impact_severity_t val; const char *name; @@ -1401,7 +1401,7 @@ const char *idmef_impact_severity_to_string(idmef_impact_severity_t val) { IDMEF_IMPACT_SEVERITY_HIGH, "high" }, }; - if ( val < 0 || val >= (sizeof(tbl) / sizeof(*tbl)) ) + if ( val < 0 || (size_t) val >= (sizeof(tbl) / sizeof(*tbl)) ) return NULL; return tbl[val].name; @@ -1415,7 +1415,7 @@ const char *idmef_impact_severity_to_string(idmef_impact_severity_t val) */ idmef_impact_completion_t idmef_impact_completion_to_numeric(const char *name) { - int i; + size_t i; const struct { idmef_impact_completion_t val; const char *name; @@ -1452,7 +1452,7 @@ const char *idmef_impact_completion_to_string(idmef_impact_completion_t val) { IDMEF_IMPACT_COMPLETION_SUCCEEDED, "succeeded" }, }; - if ( val < 0 || val >= (sizeof(tbl) / sizeof(*tbl)) ) + if ( val < 0 || (size_t) val >= (sizeof(tbl) / sizeof(*tbl)) ) return NULL; return tbl[val].name; @@ -1466,7 +1466,7 @@ const char *idmef_impact_completion_to_string(idmef_impact_completion_t val) */ idmef_impact_type_t idmef_impact_type_to_numeric(const char *name) { - int i; + size_t i; const struct { idmef_impact_type_t val; const char *name; @@ -1511,7 +1511,7 @@ const char *idmef_impact_type_to_string(idmef_impact_type_t val) { IDMEF_IMPACT_TYPE_USER, "user" }, }; - if ( val < 0 || val >= (sizeof(tbl) / sizeof(*tbl)) ) + if ( val < 0 || (size_t) val >= (sizeof(tbl) / sizeof(*tbl)) ) return NULL; return tbl[val].name; @@ -1537,7 +1537,7 @@ struct idmef_impact { */ idmef_action_category_t idmef_action_category_to_numeric(const char *name) { - int i; + size_t i; const struct { idmef_action_category_t val; const char *name; @@ -1578,7 +1578,7 @@ const char *idmef_action_category_to_string(idmef_action_category_t val) { IDMEF_ACTION_CATEGORY_TAKEN_OFFLINE, "taken-offline" }, }; - if ( val < 0 || val >= (sizeof(tbl) / sizeof(*tbl)) ) + if ( val < 0 || (size_t) val >= (sizeof(tbl) / sizeof(*tbl)) ) return NULL; return tbl[val].name; @@ -1603,7 +1603,7 @@ struct idmef_action { */ idmef_confidence_rating_t idmef_confidence_rating_to_numeric(const char *name) { - int i; + size_t i; const struct { idmef_confidence_rating_t val; const char *name; @@ -1644,7 +1644,7 @@ const char *idmef_confidence_rating_to_string(idmef_confidence_rating_t val) { IDMEF_CONFIDENCE_RATING_HIGH, "high" }, }; - if ( val < 0 || val >= (sizeof(tbl) / sizeof(*tbl)) ) + if ( val < 0 || (size_t) val >= (sizeof(tbl) / sizeof(*tbl)) ) return NULL; return tbl[val].name; @@ -1711,7 +1711,7 @@ struct idmef_overflow_alert { */ idmef_alert_type_t idmef_alert_type_to_numeric(const char *name) { - int i; + size_t i; const struct { idmef_alert_type_t val; const char *name; @@ -1752,7 +1752,7 @@ const char *idmef_alert_type_to_string(idmef_alert_type_t val) { IDMEF_ALERT_TYPE_OVERFLOW, "overflow" }, }; - if ( val < 0 || val >= (sizeof(tbl) / sizeof(*tbl)) ) + if ( val < 0 || (size_t) val >= (sizeof(tbl) / sizeof(*tbl)) ) return NULL; return tbl[val].name; @@ -1811,7 +1811,7 @@ struct idmef_heartbeat { */ idmef_message_type_t idmef_message_type_to_numeric(const char *name) { - int i; + size_t i; const struct { idmef_message_type_t val; const char *name; @@ -1848,7 +1848,7 @@ const char *idmef_message_type_to_string(idmef_message_type_t val) { IDMEF_MESSAGE_TYPE_HEARTBEAT, "heartbeat" }, }; - if ( val < 0 || val >= (sizeof(tbl) / sizeof(*tbl)) ) + if ( val < 0 || (size_t) val >= (sizeof(tbl) / sizeof(*tbl)) ) return NULL; return tbl[val].name; diff --git a/src/idmef-value-type.c b/src/idmef-value-type.c index bfb8823..c544636 100644 --- a/src/idmef-value-type.c +++ b/src/idmef-value-type.c @@ -533,7 +533,7 @@ static void class_destroy(idmef_value_type_t *type) static const idmef_value_type_operation_t ops_tbl[] = { - { "unknown", 0, 0, NULL, NULL, NULL, NULL, NULL, NULL }, + { "unknown", 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL }, { "int8", sizeof(int8_t), INTEGER_OPERATOR, generic_copy, generic_clone, NULL, NULL, generic_compare, int8_read, int8_write }, { "uint8", sizeof(uint8_t), INTEGER_OPERATOR, generic_copy, @@ -571,7 +571,7 @@ static const idmef_value_type_operation_t ops_tbl[] = { static int is_type_valid(idmef_value_type_id_t type) { - if ( type < 0 || type >= (sizeof(ops_tbl) / sizeof(*ops_tbl)) ) + if ( type < 0 || (size_t) type >= (sizeof(ops_tbl) / sizeof(*ops_tbl)) ) return prelude_error_verbose(PRELUDE_ERROR_IDMEF_VALUE_TYPE_UNKNOWN, "Unknown IDMEF type id: '%d'", type); return 0; @@ -581,6 +581,12 @@ static int is_type_valid(idmef_value_type_id_t type) const char *idmef_value_type_to_string(idmef_value_type_id_t type) { + int ret; + + ret = is_type_valid(type); + if ( ret < 0 ) + return NULL; + return ops_tbl[type].name; } diff --git a/src/idmef-wrappers-gen/GenerateIDMEFTreeData.pm b/src/idmef-wrappers-gen/GenerateIDMEFTreeData.pm index b1954b7..88d1a84 100644 --- a/src/idmef-wrappers-gen/GenerateIDMEFTreeData.pm +++ b/src/idmef-wrappers-gen/GenerateIDMEFTreeData.pm @@ -133,7 +133,7 @@ const object_data_t object_data[] = \{ foreach my $obj ( sort { $a->{id} <=> $b->{id} } map { ($_->{obj_type} != &OBJ_PRE_DECLARED ? $_ : () ) } @{ $tree->{obj_list} } ) { for ( my $i = $last_id + 1; $i < $obj->{id}; $i++ ) { - $self->output(" \{ \"(unassigned)\", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL \}, /* ID: $i */\n"); + $self->output(" \{ \"(unassigned)\", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL \}, /* ID: $i */\n"); } $last_id = $obj->{id}; @@ -166,12 +166,13 @@ const object_data_t object_data[] = \{ "NULL, ", "NULL, ", "NULL, ", - "NULL ", + "NULL, ", + "NULL ", "\}, ", "/* ID: $obj->{id} */\n") if ( $obj->{obj_type} == &OBJ_ENUM ); } - $self->output(" \{ NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL \}\n"); + $self->output(" \{ NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL \}\n"); $self->output("};\n"); } diff --git a/src/idmef-wrappers-gen/GenerateIDMEFTreeWrapC.pm b/src/idmef-wrappers-gen/GenerateIDMEFTreeWrapC.pm index 2da76f1..cbcbe28 100644 --- a/src/idmef-wrappers-gen/GenerateIDMEFTreeWrapC.pm +++ b/src/idmef-wrappers-gen/GenerateIDMEFTreeWrapC.pm @@ -1715,7 +1715,7 @@ sub enum */ $enum->{typename} idmef_$enum->{short_typename}_to_numeric(const char *name) \{ - int i; + size_t i; const struct { $enum->{typename} val; const char *name; @@ -1799,7 +1799,7 @@ const char *idmef_$enum->{short_typename}_to_string($enum->{typename} val) $self->output(" }; - if ( val < 0 || val >= (sizeof(tbl) / sizeof(*tbl)) ) + if ( val < 0 || (size_t) val >= (sizeof(tbl) / sizeof(*tbl)) ) return NULL; return tbl[val].name; diff --git a/src/include/idmef-path.h b/src/include/idmef-path.h index d5e03c5..be5ea64 100644 --- a/src/include/idmef-path.h +++ b/src/include/idmef-path.h @@ -69,13 +69,13 @@ idmef_class_id_t idmef_path_get_class(const idmef_path_t *path, int depth); idmef_value_type_id_t idmef_path_get_value_type(const idmef_path_t *path, int depth); -int idmef_path_set_index(idmef_path_t *path, unsigned int depth, unsigned int index); +int idmef_path_set_index(idmef_path_t *path, unsigned int depth, int index); int idmef_path_undefine_index(idmef_path_t *path, unsigned int depth); int idmef_path_get_index(const idmef_path_t *path, unsigned int depth); -int idmef_path_make_child(idmef_path_t *path, const char *child_name, unsigned int index); +int idmef_path_make_child(idmef_path_t *path, const char *child_name, int index); int idmef_path_make_parent(idmef_path_t *path); diff --git a/src/include/idmef-tree-data.h b/src/include/idmef-tree-data.h index 4a730a2..a51b9b3 100644 --- a/src/include/idmef-tree-data.h +++ b/src/include/idmef-tree-data.h @@ -273,59 +273,59 @@ typedef struct { const object_data_t object_data[] = { - { "(unassigned)", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }, /* ID: 0 */ - { "(unassigned)", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }, /* ID: 1 */ - { "(unassigned)", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }, /* ID: 2 */ - { "additional_data_type", 0, NULL, NULL, NULL, NULL, (void *) idmef_additional_data_type_to_numeric, (void *) idmef_additional_data_type_to_string, NULL, NULL, NULL, NULL }, /* ID: 3 */ + { "(unassigned)", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }, /* ID: 0 */ + { "(unassigned)", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }, /* ID: 1 */ + { "(unassigned)", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }, /* ID: 2 */ + { "additional_data_type", 0, NULL, NULL, NULL, NULL, (void *) idmef_additional_data_type_to_numeric, (void *) idmef_additional_data_type_to_string, NULL, NULL, NULL, NULL, NULL }, /* ID: 3 */ { "additional_data", sizeof(idmef_additional_data_children_list) / sizeof(*idmef_additional_data_children_list), idmef_additional_data_children_list, _idmef_additional_data_get_child, _idmef_additional_data_new_child, _idmef_additional_data_destroy_child, NULL, NULL, (void *) idmef_additional_data_copy, (void *) idmef_additional_data_clone, (void *) idmef_additional_data_compare, (void *) idmef_additional_data_ref, (void *) idmef_additional_data_destroy }, /* ID: 4 */ - { "reference_origin", 0, NULL, NULL, NULL, NULL, (void *) idmef_reference_origin_to_numeric, (void *) idmef_reference_origin_to_string, NULL, NULL, NULL, NULL }, /* ID: 5 */ + { "reference_origin", 0, NULL, NULL, NULL, NULL, (void *) idmef_reference_origin_to_numeric, (void *) idmef_reference_origin_to_string, NULL, NULL, NULL, NULL, NULL }, /* ID: 5 */ { "classification", sizeof(idmef_classification_children_list) / sizeof(*idmef_classification_children_list), idmef_classification_children_list, _idmef_classification_get_child, _idmef_classification_new_child, _idmef_classification_destroy_child, NULL, NULL, (void *) idmef_classification_copy, (void *) idmef_classification_clone, (void *) idmef_classification_compare, (void *) idmef_classification_ref, (void *) idmef_classification_destroy }, /* ID: 6 */ - { "user_id_type", 0, NULL, NULL, NULL, NULL, (void *) idmef_user_id_type_to_numeric, (void *) idmef_user_id_type_to_string, NULL, NULL, NULL, NULL }, /* ID: 7 */ + { "user_id_type", 0, NULL, NULL, NULL, NULL, (void *) idmef_user_id_type_to_numeric, (void *) idmef_user_id_type_to_string, NULL, NULL, NULL, NULL, NULL }, /* ID: 7 */ { "user_id", sizeof(idmef_user_id_children_list) / sizeof(*idmef_user_id_children_list), idmef_user_id_children_list, _idmef_user_id_get_child, _idmef_user_id_new_child, _idmef_user_id_destroy_child, NULL, NULL, (void *) idmef_user_id_copy, (void *) idmef_user_id_clone, (void *) idmef_user_id_compare, (void *) idmef_user_id_ref, (void *) idmef_user_id_destroy }, /* ID: 8 */ - { "user_category", 0, NULL, NULL, NULL, NULL, (void *) idmef_user_category_to_numeric, (void *) idmef_user_category_to_string, NULL, NULL, NULL, NULL }, /* ID: 9 */ + { "user_category", 0, NULL, NULL, NULL, NULL, (void *) idmef_user_category_to_numeric, (void *) idmef_user_category_to_string, NULL, NULL, NULL, NULL, NULL }, /* ID: 9 */ { "user", sizeof(idmef_user_children_list) / sizeof(*idmef_user_children_list), idmef_user_children_list, _idmef_user_get_child, _idmef_user_new_child, _idmef_user_destroy_child, NULL, NULL, (void *) idmef_user_copy, (void *) idmef_user_clone, (void *) idmef_user_compare, (void *) idmef_user_ref, (void *) idmef_user_destroy }, /* ID: 10 */ - { "address_category", 0, NULL, NULL, NULL, NULL, (void *) idmef_address_category_to_numeric, (void *) idmef_address_category_to_string, NULL, NULL, NULL, NULL }, /* ID: 11 */ + { "address_category", 0, NULL, NULL, NULL, NULL, (void *) idmef_address_category_to_numeric, (void *) idmef_address_category_to_string, NULL, NULL, NULL, NULL, NULL }, /* ID: 11 */ { "address", sizeof(idmef_address_children_list) / sizeof(*idmef_address_children_list), idmef_address_children_list, _idmef_address_get_child, _idmef_address_new_child, _idmef_address_destroy_child, NULL, NULL, (void *) idmef_address_copy, (void *) idmef_address_clone, (void *) idmef_address_compare, (void *) idmef_address_ref, (void *) idmef_address_destroy }, /* ID: 12 */ { "process", sizeof(idmef_process_children_list) / sizeof(*idmef_process_children_list), idmef_process_children_list, _idmef_process_get_child, _idmef_process_new_child, _idmef_process_destroy_child, NULL, NULL, (void *) idmef_process_copy, (void *) idmef_process_clone, (void *) idmef_process_compare, (void *) idmef_process_ref, (void *) idmef_process_destroy }, /* ID: 13 */ { "web_service", sizeof(idmef_web_service_children_list) / sizeof(*idmef_web_service_children_list), idmef_web_service_children_list, _idmef_web_service_get_child, _idmef_web_service_new_child, _idmef_web_service_destroy_child, NULL, NULL, (void *) idmef_web_service_copy, (void *) idmef_web_service_clone, (void *) idmef_web_service_compare, (void *) idmef_web_service_ref, (void *) idmef_web_service_destroy }, /* ID: 14 */ { "snmp_service", sizeof(idmef_snmp_service_children_list) / sizeof(*idmef_snmp_service_children_list), idmef_snmp_service_children_list, _idmef_snmp_service_get_child, _idmef_snmp_service_new_child, _idmef_snmp_service_destroy_child, NULL, NULL, (void *) idmef_snmp_service_copy, (void *) idmef_snmp_service_clone, (void *) idmef_snmp_service_compare, (void *) idmef_snmp_service_ref, (void *) idmef_snmp_service_destroy }, /* ID: 15 */ - { "service_type", 0, NULL, NULL, NULL, NULL, (void *) idmef_service_type_to_numeric, (void *) idmef_service_type_to_string, NULL, NULL, NULL, NULL }, /* ID: 16 */ + { "service_type", 0, NULL, NULL, NULL, NULL, (void *) idmef_service_type_to_numeric, (void *) idmef_service_type_to_string, NULL, NULL, NULL, NULL, NULL }, /* ID: 16 */ { "service", sizeof(idmef_service_children_list) / sizeof(*idmef_service_children_list), idmef_service_children_list, _idmef_service_get_child, _idmef_service_new_child, _idmef_service_destroy_child, NULL, NULL, (void *) idmef_service_copy, (void *) idmef_service_clone, (void *) idmef_service_compare, (void *) idmef_service_ref, (void *) idmef_service_destroy }, /* ID: 17 */ - { "node_category", 0, NULL, NULL, NULL, NULL, (void *) idmef_node_category_to_numeric, (void *) idmef_node_category_to_string, NULL, NULL, NULL, NULL }, /* ID: 18 */ + { "node_category", 0, NULL, NULL, NULL, NULL, (void *) idmef_node_category_to_numeric, (void *) idmef_node_category_to_string, NULL, NULL, NULL, NULL, NULL }, /* ID: 18 */ { "node", sizeof(idmef_node_children_list) / sizeof(*idmef_node_children_list), idmef_node_children_list, _idmef_node_get_child, _idmef_node_new_child, _idmef_node_destroy_child, NULL, NULL, (void *) idmef_node_copy, (void *) idmef_node_clone, (void *) idmef_node_compare, (void *) idmef_node_ref, (void *) idmef_node_destroy }, /* ID: 19 */ - { "source_spoofed", 0, NULL, NULL, NULL, NULL, (void *) idmef_source_spoofed_to_numeric, (void *) idmef_source_spoofed_to_string, NULL, NULL, NULL, NULL }, /* ID: 20 */ + { "source_spoofed", 0, NULL, NULL, NULL, NULL, (void *) idmef_source_spoofed_to_numeric, (void *) idmef_source_spoofed_to_string, NULL, NULL, NULL, NULL, NULL }, /* ID: 20 */ { "source", sizeof(idmef_source_children_list) / sizeof(*idmef_source_children_list), idmef_source_children_list, _idmef_source_get_child, _idmef_source_new_child, _idmef_source_destroy_child, NULL, NULL, (void *) idmef_source_copy, (void *) idmef_source_clone, (void *) idmef_source_compare, (void *) idmef_source_ref, (void *) idmef_source_destroy }, /* ID: 21 */ { "file_access", sizeof(idmef_file_access_children_list) / sizeof(*idmef_file_access_children_list), idmef_file_access_children_list, _idmef_file_access_get_child, _idmef_file_access_new_child, _idmef_file_access_destroy_child, NULL, NULL, (void *) idmef_file_access_copy, (void *) idmef_file_access_clone, (void *) idmef_file_access_compare, (void *) idmef_file_access_ref, (void *) idmef_file_access_destroy }, /* ID: 22 */ { "inode", sizeof(idmef_inode_children_list) / sizeof(*idmef_inode_children_list), idmef_inode_children_list, _idmef_inode_get_child, _idmef_inode_new_child, _idmef_inode_destroy_child, NULL, NULL, (void *) idmef_inode_copy, (void *) idmef_inode_clone, (void *) idmef_inode_compare, (void *) idmef_inode_ref, (void *) idmef_inode_destroy }, /* ID: 23 */ - { "file_category", 0, NULL, NULL, NULL, NULL, (void *) idmef_file_category_to_numeric, (void *) idmef_file_category_to_string, NULL, NULL, NULL, NULL }, /* ID: 24 */ - { "file_fstype", 0, NULL, NULL, NULL, NULL, (void *) idmef_file_fstype_to_numeric, (void *) idmef_file_fstype_to_string, NULL, NULL, NULL, NULL }, /* ID: 25 */ + { "file_category", 0, NULL, NULL, NULL, NULL, (void *) idmef_file_category_to_numeric, (void *) idmef_file_category_to_string, NULL, NULL, NULL, NULL, NULL }, /* ID: 24 */ + { "file_fstype", 0, NULL, NULL, NULL, NULL, (void *) idmef_file_fstype_to_numeric, (void *) idmef_file_fstype_to_string, NULL, NULL, NULL, NULL, NULL }, /* ID: 25 */ { "file", sizeof(idmef_file_children_list) / sizeof(*idmef_file_children_list), idmef_file_children_list, _idmef_file_get_child, _idmef_file_new_child, _idmef_file_destroy_child, NULL, NULL, (void *) idmef_file_copy, (void *) idmef_file_clone, (void *) idmef_file_compare, (void *) idmef_file_ref, (void *) idmef_file_destroy }, /* ID: 26 */ - { "linkage_category", 0, NULL, NULL, NULL, NULL, (void *) idmef_linkage_category_to_numeric, (void *) idmef_linkage_category_to_string, NULL, NULL, NULL, NULL }, /* ID: 27 */ + { "linkage_category", 0, NULL, NULL, NULL, NULL, (void *) idmef_linkage_category_to_numeric, (void *) idmef_linkage_category_to_string, NULL, NULL, NULL, NULL, NULL }, /* ID: 27 */ { "linkage", sizeof(idmef_linkage_children_list) / sizeof(*idmef_linkage_children_list), idmef_linkage_children_list, _idmef_linkage_get_child, _idmef_linkage_new_child, _idmef_linkage_destroy_child, NULL, NULL, (void *) idmef_linkage_copy, (void *) idmef_linkage_clone, (void *) idmef_linkage_compare, (void *) idmef_linkage_ref, (void *) idmef_linkage_destroy }, /* ID: 28 */ - { "target_decoy", 0, NULL, NULL, NULL, NULL, (void *) idmef_target_decoy_to_numeric, (void *) idmef_target_decoy_to_string, NULL, NULL, NULL, NULL }, /* ID: 29 */ + { "target_decoy", 0, NULL, NULL, NULL, NULL, (void *) idmef_target_decoy_to_numeric, (void *) idmef_target_decoy_to_string, NULL, NULL, NULL, NULL, NULL }, /* ID: 29 */ { "target", sizeof(idmef_target_children_list) / sizeof(*idmef_target_children_list), idmef_target_children_list, _idmef_target_get_child, _idmef_target_new_child, _idmef_target_destroy_child, NULL, NULL, (void *) idmef_target_copy, (void *) idmef_target_clone, (void *) idmef_target_compare, (void *) idmef_target_ref, (void *) idmef_target_destroy }, /* ID: 30 */ { "analyzer", sizeof(idmef_analyzer_children_list) / sizeof(*idmef_analyzer_children_list), idmef_analyzer_children_list, _idmef_analyzer_get_child, _idmef_analyzer_new_child, _idmef_analyzer_destroy_child, NULL, NULL, (void *) idmef_analyzer_copy, (void *) idmef_analyzer_clone, (void *) idmef_analyzer_compare, (void *) idmef_analyzer_ref, (void *) idmef_analyzer_destroy }, /* ID: 31 */ { "alertident", sizeof(idmef_alertident_children_list) / sizeof(*idmef_alertident_children_list), idmef_alertident_children_list, _idmef_alertident_get_child, _idmef_alertident_new_child, _idmef_alertident_destroy_child, NULL, NULL, (void *) idmef_alertident_copy, (void *) idmef_alertident_clone, (void *) idmef_alertident_compare, (void *) idmef_alertident_ref, (void *) idmef_alertident_destroy }, /* ID: 32 */ - { "impact_severity", 0, NULL, NULL, NULL, NULL, (void *) idmef_impact_severity_to_numeric, (void *) idmef_impact_severity_to_string, NULL, NULL, NULL, NULL }, /* ID: 33 */ - { "impact_completion", 0, NULL, NULL, NULL, NULL, (void *) idmef_impact_completion_to_numeric, (void *) idmef_impact_completion_to_string, NULL, NULL, NULL, NULL }, /* ID: 34 */ - { "impact_type", 0, NULL, NULL, NULL, NULL, (void *) idmef_impact_type_to_numeric, (void *) idmef_impact_type_to_string, NULL, NULL, NULL, NULL }, /* ID: 35 */ + { "impact_severity", 0, NULL, NULL, NULL, NULL, (void *) idmef_impact_severity_to_numeric, (void *) idmef_impact_severity_to_string, NULL, NULL, NULL, NULL, NULL }, /* ID: 33 */ + { "impact_completion", 0, NULL, NULL, NULL, NULL, (void *) idmef_impact_completion_to_numeric, (void *) idmef_impact_completion_to_string, NULL, NULL, NULL, NULL, NULL }, /* ID: 34 */ + { "impact_type", 0, NULL, NULL, NULL, NULL, (void *) idmef_impact_type_to_numeric, (void *) idmef_impact_type_to_string, NULL, NULL, NULL, NULL, NULL }, /* ID: 35 */ { "impact", sizeof(idmef_impact_children_list) / sizeof(*idmef_impact_children_list), idmef_impact_children_list, _idmef_impact_get_child, _idmef_impact_new_child, _idmef_impact_destroy_child, NULL, NULL, (void *) idmef_impact_copy, (void *) idmef_impact_clone, (void *) idmef_impact_compare, (void *) idmef_impact_ref, (void *) idmef_impact_destroy }, /* ID: 36 */ - { "action_category", 0, NULL, NULL, NULL, NULL, (void *) idmef_action_category_to_numeric, (void *) idmef_action_category_to_string, NULL, NULL, NULL, NULL }, /* ID: 37 */ + { "action_category", 0, NULL, NULL, NULL, NULL, (void *) idmef_action_category_to_numeric, (void *) idmef_action_category_to_string, NULL, NULL, NULL, NULL, NULL }, /* ID: 37 */ { "action", sizeof(idmef_action_children_list) / sizeof(*idmef_action_children_list), idmef_action_children_list, _idmef_action_get_child, _idmef_action_new_child, _idmef_action_destroy_child, NULL, NULL, (void *) idmef_action_copy, (void *) idmef_action_clone, (void *) idmef_action_compare, (void *) idmef_action_ref, (void *) idmef_action_destroy }, /* ID: 38 */ - { "confidence_rating", 0, NULL, NULL, NULL, NULL, (void *) idmef_confidence_rating_to_numeric, (void *) idmef_confidence_rating_to_string, NULL, NULL, NULL, NULL }, /* ID: 39 */ + { "confidence_rating", 0, NULL, NULL, NULL, NULL, (void *) idmef_confidence_rating_to_numeric, (void *) idmef_confidence_rating_to_string, NULL, NULL, NULL, NULL, NULL }, /* ID: 39 */ { "confidence", sizeof(idmef_confidence_children_list) / sizeof(*idmef_confidence_children_list), idmef_confidence_children_list, _idmef_confidence_get_child, _idmef_confidence_new_child, _idmef_confidence_destroy_child, NULL, NULL, (void *) idmef_confidence_copy, (void *) idmef_confidence_clone, (void *) idmef_confidence_compare, (void *) idmef_confidence_ref, (void *) idmef_confidence_destroy }, /* ID: 40 */ { "assessment", sizeof(idmef_assessment_children_list) / sizeof(*idmef_assessment_children_list), idmef_assessment_children_list, _idmef_assessment_get_child, _idmef_assessment_new_child, _idmef_assessment_destroy_child, NULL, NULL, (void *) idmef_assessment_copy, (void *) idmef_assessment_clone, (void *) idmef_assessment_compare, (void *) idmef_assessment_ref, (void *) idmef_assessment_destroy }, /* ID: 41 */ { "tool_alert", sizeof(idmef_tool_alert_children_list) / sizeof(*idmef_tool_alert_children_list), idmef_tool_alert_children_list, _idmef_tool_alert_get_child, _idmef_tool_alert_new_child, _idmef_tool_alert_destroy_child, NULL, NULL, (void *) idmef_tool_alert_copy, (void *) idmef_tool_alert_clone, (void *) idmef_tool_alert_compare, (void *) idmef_tool_alert_ref, (void *) idmef_tool_alert_destroy }, /* ID: 42 */ { "correlation_alert", sizeof(idmef_correlation_alert_children_list) / sizeof(*idmef_correlation_alert_children_list), idmef_correlation_alert_children_list, _idmef_correlation_alert_get_child, _idmef_correlation_alert_new_child, _idmef_correlation_alert_destroy_child, NULL, NULL, (void *) idmef_correlation_alert_copy, (void *) idmef_correlation_alert_clone, (void *) idmef_correlation_alert_compare, (void *) idmef_correlation_alert_ref, (void *) idmef_correlation_alert_destroy }, /* ID: 43 */ { "overflow_alert", sizeof(idmef_overflow_alert_children_list) / sizeof(*idmef_overflow_alert_children_list), idmef_overflow_alert_children_list, _idmef_overflow_alert_get_child, _idmef_overflow_alert_new_child, _idmef_overflow_alert_destroy_child, NULL, NULL, (void *) idmef_overflow_alert_copy, (void *) idmef_overflow_alert_clone, (void *) idmef_overflow_alert_compare, (void *) idmef_overflow_alert_ref, (void *) idmef_overflow_alert_destroy }, /* ID: 44 */ - { "alert_type", 0, NULL, NULL, NULL, NULL, (void *) idmef_alert_type_to_numeric, (void *) idmef_alert_type_to_string, NULL, NULL, NULL, NULL }, /* ID: 45 */ + { "alert_type", 0, NULL, NULL, NULL, NULL, (void *) idmef_alert_type_to_numeric, (void *) idmef_alert_type_to_string, NULL, NULL, NULL, NULL, NULL }, /* ID: 45 */ { "alert", sizeof(idmef_alert_children_list) / sizeof(*idmef_alert_children_list), idmef_alert_children_list, _idmef_alert_get_child, _idmef_alert_new_child, _idmef_alert_destroy_child, NULL, NULL, (void *) idmef_alert_copy, (void *) idmef_alert_clone, (void *) idmef_alert_compare, (void *) idmef_alert_ref, (void *) idmef_alert_destroy }, /* ID: 46 */ { "heartbeat", sizeof(idmef_heartbeat_children_list) / sizeof(*idmef_heartbeat_children_list), idmef_heartbeat_children_list, _idmef_heartbeat_get_child, _idmef_heartbeat_new_child, _idmef_heartbeat_destroy_child, NULL, NULL, (void *) idmef_heartbeat_copy, (void *) idmef_heartbeat_clone, (void *) idmef_heartbeat_compare, (void *) idmef_heartbeat_ref, (void *) idmef_heartbeat_destroy }, /* ID: 47 */ - { "message_type", 0, NULL, NULL, NULL, NULL, (void *) idmef_message_type_to_numeric, (void *) idmef_message_type_to_string, NULL, NULL, NULL, NULL }, /* ID: 48 */ + { "message_type", 0, NULL, NULL, NULL, NULL, (void *) idmef_message_type_to_numeric, (void *) idmef_message_type_to_string, NULL, NULL, NULL, NULL, NULL }, /* ID: 48 */ { "message", sizeof(idmef_message_children_list) / sizeof(*idmef_message_children_list), idmef_message_children_list, _idmef_message_get_child, _idmef_message_new_child, _idmef_message_destroy_child, NULL, NULL, (void *) idmef_message_copy, (void *) idmef_message_clone, (void *) idmef_message_compare, (void *) idmef_message_ref, (void *) idmef_message_destroy }, /* ID: 49 */ { "reference", sizeof(idmef_reference_children_list) / sizeof(*idmef_reference_children_list), idmef_reference_children_list, _idmef_reference_get_child, _idmef_reference_new_child, _idmef_reference_destroy_child, NULL, NULL, (void *) idmef_reference_copy, (void *) idmef_reference_clone, (void *) idmef_reference_compare, (void *) idmef_reference_ref, (void *) idmef_reference_destroy }, /* ID: 50 */ - { "(unassigned)", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }, /* ID: 51 */ + { "(unassigned)", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }, /* ID: 51 */ { "checksum", sizeof(idmef_checksum_children_list) / sizeof(*idmef_checksum_children_list), idmef_checksum_children_list, _idmef_checksum_get_child, _idmef_checksum_new_child, _idmef_checksum_destroy_child, NULL, NULL, (void *) idmef_checksum_copy, (void *) idmef_checksum_clone, (void *) idmef_checksum_compare, (void *) idmef_checksum_ref, (void *) idmef_checksum_destroy }, /* ID: 52 */ - { "checksum_algorithm", 0, NULL, NULL, NULL, NULL, (void *) idmef_checksum_algorithm_to_numeric, (void *) idmef_checksum_algorithm_to_string, NULL, NULL, NULL, NULL }, /* ID: 53 */ - { NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL } + { "checksum_algorithm", 0, NULL, NULL, NULL, NULL, (void *) idmef_checksum_algorithm_to_numeric, (void *) idmef_checksum_algorithm_to_string, NULL, NULL, NULL, NULL, NULL }, /* ID: 53 */ + { NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL } }; diff --git a/src/libprelude-error/strerror.c b/src/libprelude-error/strerror.c index 9c428c0..9c0f535 100644 --- a/src/libprelude-error/strerror.c +++ b/src/libprelude-error/strerror.c @@ -47,5 +47,5 @@ const char *prelude_strerror(prelude_error_t err) code = PRELUDE_ERROR_UNKNOWN_ERRNO; } - return dgettext(PACKAGE, msgstr + msgidx[msgidxof(code)]); + return dgettext(PACKAGE, msgstr + msgidx[msgidxof((int)code)]); } diff --git a/src/libprelude-error/strsource.c b/src/libprelude-error/strsource.c index 57ab026..c54a4aa 100644 --- a/src/libprelude-error/strsource.c +++ b/src/libprelude-error/strsource.c @@ -30,5 +30,5 @@ const char *prelude_strsource(prelude_error_t err) { prelude_error_source_t source = prelude_error_get_source(err); - return dgettext(PACKAGE, msgstr + msgidx[msgidxof(source)]); + return dgettext(PACKAGE, msgstr + msgidx[msgidxof((int) source)]); } diff --git a/src/prelude-connection.c b/src/prelude-connection.c index b8ad538..119c47f 100644 --- a/src/prelude-connection.c +++ b/src/prelude-connection.c @@ -336,13 +336,16 @@ static int start_inet_connection(prelude_connection_t *cnx, { socklen_t len; int sock, ret, tmp; + union { + struct sockaddr sa; #ifdef HAVE_IPV6 - struct sockaddr_in6 addr; - uint16_t *port = &addr.sin6_port; + struct sockaddr_in6 addr; +# define ADDR_PORT(x) (x).sin6_port #else - struct sockaddr_in addr; - uint16_t *port = &addr.sin_port; + struct sockaddr_in addr; +# define ADDR_PORT(x) (x).sin_port #endif + } addr; sock = generic_connect(cnx->sa, cnx->salen); if ( sock < 0 ) @@ -363,20 +366,20 @@ static int start_inet_connection(prelude_connection_t *cnx, * Get information about the connection, * because the sensor might want to know source addr/port used. */ - len = sizeof(addr); + len = sizeof(addr.addr); - ret = getsockname(sock, (struct sockaddr *) &addr, &len); + ret = getsockname(sock, &addr.sa, &len); if ( ret < 0 ) ret = prelude_error_verbose(PRELUDE_ERROR_SYSTEM_ERROR, "getsockname failed: %s", strerror(errno)); else { char buf[512]; - if ( inet_ntop(((struct sockaddr *)&addr)->sa_family, prelude_sockaddr_get_inaddr((struct sockaddr *) &addr), buf, sizeof(buf)) ) + if ( inet_ntop(addr.sa.sa_family, prelude_sockaddr_get_inaddr(&addr.sa), buf, sizeof(buf)) ) cnx->saddr = strdup(buf); else cnx->saddr = NULL; - cnx->sport = ntohs(*port); + cnx->sport = ntohs(ADDR_PORT(addr.addr)); } return ret; @@ -1008,7 +1011,7 @@ int prelude_connection_permission_new_from_string(prelude_connection_permission_ } tbl[] = { { "idmef", PRELUDE_CONNECTION_PERMISSION_IDMEF_READ, PRELUDE_CONNECTION_PERMISSION_IDMEF_WRITE }, { "admin", PRELUDE_CONNECTION_PERMISSION_ADMIN_READ, PRELUDE_CONNECTION_PERMISSION_ADMIN_WRITE }, - { NULL, 0 }, + { NULL, 0, 0 }, }; prelude_return_val_if_fail(out, prelude_error(PRELUDE_ERROR_ASSERTION)); @@ -1061,7 +1064,8 @@ int prelude_connection_permission_new_from_string(prelude_connection_permission_ int prelude_connection_permission_to_string(prelude_connection_permission_t permission, prelude_string_t *out) { - int i, ret = 0; + size_t i; + int ret = 0; const struct { const char *name; prelude_connection_permission_t val_read; diff --git a/src/prelude-failover.c b/src/prelude-failover.c index d0118d4..56d2240 100644 --- a/src/prelude-failover.c +++ b/src/prelude-failover.c @@ -215,7 +215,7 @@ static int journal_check(prelude_failover_t *failover, failover_journal_entry_t } prelude_log_debug(7, "rindex=%" PRELUDE_PRIu64 " size=%" PRELUDE_PRId64 "\n", jentry->value.rindex, (int64_t) wst->st_size); - if ( jentry->value.rindex > wst->st_size ) { + if ( jentry->value.rindex > (uint64_t) wst->st_size ) { /* * Latest journal entry has a read index that is higher than the size * of our data file. This mean that the data file is corrupted, and we @@ -229,7 +229,7 @@ static int journal_check(prelude_failover_t *failover, failover_journal_entry_t return 0; } - else if ( jentry->value.rindex == wst->st_size ) { + else if ( jentry->value.rindex == (uint64_t) wst->st_size ) { /* * Read-Index and size are the same, but file was not truncated. */ @@ -395,7 +395,7 @@ static int get_failover_data_filename_and_fd(const char *dirname, char *filename continue; ret = snprintf(filename, size, "%s/%s", dirname, de->d_name); - if ( ret < 0 || ret >= size ) + if ( ret < 0 || (size_t) ret >= size ) continue; ret = open_exclusive(filename, O_CREAT|O_WRONLY|O_APPEND, &fd); @@ -405,7 +405,7 @@ static int get_failover_data_filename_and_fd(const char *dirname, char *filename while ( ret != 1 ) { ret = snprintf(filename, size, "%s/data%d", dirname, i++); - if ( ret < 0 || ret >= size ) + if ( ret < 0 || (size_t) ret >= size ) continue; ret = open_exclusive(filename, O_CREAT|O_WRONLY|O_APPEND, &fd); @@ -574,7 +574,7 @@ int prelude_failover_new(prelude_failover_t **out, const char *dirname) flen = strlen(filename); ret = snprintf(filename + flen, sizeof(filename) - flen, ".journal"); - if ( ret < 0 || ret >= (sizeof(filename) - flen) ) { + if ( ret < 0 || (size_t) ret >= (sizeof(filename) - flen) ) { umask(mode); prelude_failover_destroy(new); return -1; diff --git a/src/prelude-io.c b/src/prelude-io.c index f799d95..8e81b9a 100644 --- a/src/prelude-io.c +++ b/src/prelude-io.c @@ -516,8 +516,9 @@ ssize_t prelude_io_read(prelude_io_t *pio, void *buf, size_t count) */ ssize_t prelude_io_read_wait(prelude_io_t *pio, void *buf, size_t count) { + ssize_t ret; + size_t n = 0; struct pollfd pfd; - ssize_t n = 0, ret; unsigned char *in = buf; prelude_return_val_if_fail(pio, prelude_error(PRELUDE_ERROR_ASSERTION)); @@ -538,11 +539,11 @@ ssize_t prelude_io_read_wait(prelude_io_t *pio, void *buf, size_t count) if ( ret < 0 ) return ret; - n += ret; + n += (size_t) ret; } while ( n != count ); - return n; + return (ssize_t) n; } diff --git a/src/prelude-log.c b/src/prelude-log.c index a150b56..d28baf9 100644 --- a/src/prelude-log.c +++ b/src/prelude-log.c @@ -200,11 +200,11 @@ static ssize_t get_header(prelude_log_t level, char *buf, size_t size) len = strftime(buf, size, "%d %b %H:%M:%S ", t); ret = snprintf(buf + len, size - len, "(process:%d) %s: ", (int) getpid(), level_to_string(level)); - if ( ret < 0 || ret >= (size - len) ) + if ( ret < 0 || (size_t) ret >= (size - len) ) return -1; } else { ret = snprintf(buf + len, size - len, "%s: ", level_to_string(level)); - if ( ret < 0 || ret >= (size - len) ) + if ( ret < 0 || (size_t) ret >= (size - len) ) return -1; } @@ -229,7 +229,7 @@ static void do_log_v(prelude_log_t level, const char *file, PRELUDE_VA_COPY(bkp, ap); ret = vsnprintf(buf + len, sizeof(buf) - len, fmt, ap); - if ( ret < 0 || ret >= (sizeof(buf) - len) ) + if ( ret < 0 || (size_t) ret >= (sizeof(buf) - len) ) goto out; if ( level <= PRELUDE_LOG_ERR || level >= PRELUDE_LOG_DEBUG ) { @@ -396,7 +396,7 @@ void _prelude_log_set_abort_level(prelude_log_t level) int _prelude_log_set_abort_level_from_string(const char *level) { - int i; + size_t i; char *eptr; long lvalue; struct { diff --git a/src/prelude-option-wide.c b/src/prelude-option-wide.c index abb3cb9..422fe13 100644 --- a/src/prelude-option-wide.c +++ b/src/prelude-option-wide.c @@ -443,7 +443,7 @@ int prelude_option_push_request(prelude_msgbuf_t *msg, int type, const char *req int prelude_option_new_request(prelude_msgbuf_t *msgbuf, uint32_t request_id, uint64_t *target_id, size_t size) { - int i; + size_t i; uint32_t hop, instance_id = 0; prelude_msg_set_tag(prelude_msgbuf_get_msg(msgbuf), PRELUDE_MSG_OPTION_REQUEST); diff --git a/src/prelude-string.c b/src/prelude-string.c index 4891801..5b45ec0 100644 --- a/src/prelude-string.c +++ b/src/prelude-string.c @@ -810,7 +810,7 @@ int prelude_string_vprintf(prelude_string_t *string, const char *fmt, va_list ap * ing the trailing '\0') which would have been written to * the final string if enough space had been available.) */ - if ( ret >= 0 && ret < string->size - string->index ) { + if ( ret >= 0 && (size_t) ret < string->size - string->index ) { string->index += ret; goto end; } diff --git a/src/prelude.c b/src/prelude.c index cafa923..d39e70f 100644 --- a/src/prelude.c +++ b/src/prelude.c @@ -100,7 +100,15 @@ static struct gcry_thread_cbs gcry_threads_prelude = { gcry_prelude_mutex_init, gcry_prelude_mutex_destroy, gcry_prelude_mutex_lock, - gcry_prelude_mutex_unlock + gcry_prelude_mutex_unlock, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL }; @@ -121,7 +129,7 @@ static void slice_arguments(int *argc, char **argv) rootopt = _prelude_generic_optlist; _prelude_internal_argv[_prelude_internal_argc++] = argv[0]; - for ( i = 0; i < *argc && _prelude_internal_argc + 1 < sizeof(_prelude_internal_argv) / sizeof(char *); i++ ) { + for ( i = 0; i < *argc && (size_t) _prelude_internal_argc + 1 < sizeof(_prelude_internal_argv) / sizeof(char *); i++ ) { ptr = argv[i]; if ( *ptr != '-' ) _______________________________________________ Prelude-cvslog site list [email protected] http://lists.prelude-ids.org/mailman/listinfo/prelude-cvslog