From owner-p4-projects@FreeBSD.ORG Sat Jan 21 22:30:45 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2D71516A422; Sat, 21 Jan 2006 22:30:45 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AF74B16A41F for ; Sat, 21 Jan 2006 22:30:44 +0000 (GMT) (envelope-from wsalamon@computer.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5E98F43D46 for ; Sat, 21 Jan 2006 22:30:44 +0000 (GMT) (envelope-from wsalamon@computer.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k0LMUiq6028937 for ; Sat, 21 Jan 2006 22:30:44 GMT (envelope-from wsalamon@computer.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k0LMUh25028933 for perforce@freebsd.org; Sat, 21 Jan 2006 22:30:43 GMT (envelope-from wsalamon@computer.org) Date: Sat, 21 Jan 2006 22:30:43 GMT Message-Id: <200601212230.k0LMUh25028933@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to wsalamon@computer.org using -f From: Wayne Salamon To: Perforce Change Reviews Cc: Subject: PERFORCE change 90133 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 Jan 2006 22:30:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=90133 Change 90133 by wsalamon@gretsch on 2006/01/21 22:29:50 Integrate the recent changes in the OpenBSM branch into audit3, picking up more FlexeLint changes and the AUE_NMOUNT event. Affected files ... .. //depot/projects/trustedbsd/audit3/contrib/openbsm/bsm/Makefile#3 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/bsm/audit_internal.h#4 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/bsm/audit_kevents.h#12 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/bsm_audit.c#5 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/bsm_class.c#6 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/bsm_control.c#5 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/bsm_event.c#5 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/bsm_flags.c#6 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/bsm_io.c#7 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/bsm_mask.c#5 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/bsm_token.c#7 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/bsm_wrappers.c#4 integrate Differences ... ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/bsm/Makefile#3 (text+ko) ==== @@ -13,6 +13,7 @@ all: default: +depend: clean: install: ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/bsm/audit_internal.h#4 (text+ko) ==== @@ -63,33 +63,33 @@ */ #define ADD_U_CHAR(loc, val) \ do { \ - *loc = val; \ - loc += sizeof(u_char); \ + *(loc) = (val); \ + (loc) += sizeof(u_char); \ } while(0) #define ADD_U_INT16(loc, val) \ do { \ - be16enc(loc, val); \ - loc += sizeof(u_int16_t); \ + be16enc((loc), (val)); \ + (loc) += sizeof(u_int16_t); \ } while(0) #define ADD_U_INT32(loc, val) \ do { \ - be32enc(loc, val); \ - loc += sizeof(u_int32_t); \ + be32enc((loc), (val)); \ + (loc) += sizeof(u_int32_t); \ } while(0) #define ADD_U_INT64(loc, val) \ do { \ - be64enc(loc, val); \ - loc += sizeof(u_int64_t); \ + be64enc((loc), (val)); \ + (loc) += sizeof(u_int64_t); \ } while(0) #define ADD_MEM(loc, data, size) \ do { \ - memcpy(loc, data, size); \ - loc += size; \ + memcpy((loc), (data), (size)); \ + (loc) += size; \ } while(0) #define ADD_STRING(loc, data, size) ADD_MEM(loc, data, size) ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/bsm/audit_kevents.h#12 (text+ko) ==== @@ -355,6 +355,7 @@ #define AUE_KQUEUE 377 /* FreeBSD */ #define AUE_KEVENT 378 /* FreeBSD */ #define AUE_FSYNC 379 +#define AUE_NMOUNT 380 /* FreeBSD */ /* * XXXRW: Values not yet assigned. ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/bsm_audit.c#5 (text+ko) ==== @@ -237,7 +237,7 @@ token_t *tok; /* Free the token list */ - while ((tok = TAILQ_FIRST(&rec->token_q))) { + while ((tok = TAILQ_FIRST(&rec->token_q)) != NULL) { TAILQ_REMOVE(&rec->token_q, tok, tokens); free(tok->t_data); free(tok); ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/bsm_class.c#6 (text+ko) ==== @@ -39,9 +39,9 @@ * Parse the contents of the audit_class file to return struct au_class_ent * entries. */ -static FILE *fp = NULL; -static char linestr[AU_LINE_MAX]; -static char *delim = ":"; +static FILE *fp = NULL; +static char linestr[AU_LINE_MAX]; +static const char *classdelim = ":"; static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; @@ -50,15 +50,15 @@ * au_class_ent elements; store the result in c. */ static struct au_class_ent * -classfromstr(char *str, char *delim, struct au_class_ent *c) +classfromstr(char *str, struct au_class_ent *c) { char *classname, *classdesc, *classflag; char *last; /* Each line contains flag:name:desc. */ - classflag = strtok_r(str, delim, &last); - classname = strtok_r(NULL, delim, &last); - classdesc = strtok_r(NULL, delim, &last); + classflag = strtok_r(str, classdelim, &last); + classname = strtok_r(NULL, classdelim, &last); + classdesc = strtok_r(NULL, classdelim, &last); if ((classflag == NULL) || (classname == NULL) || (classdesc == NULL)) return (NULL); @@ -113,7 +113,7 @@ tokptr = linestr; /* Parse tokptr to au_class_ent components. */ - if (classfromstr(tokptr, delim, c) == NULL) + if (classfromstr(tokptr, c) == NULL) return (NULL); return (c); ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/bsm_control.c#5 (text+ko) ==== @@ -94,8 +94,6 @@ } } } - - return (0); /* EOF */ } /* ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/bsm_event.c#5 (text+ko) ==== @@ -39,9 +39,9 @@ * Parse the contents of the audit_event file to return * au_event_ent entries */ -static FILE *fp = NULL; -static char linestr[AU_LINE_MAX]; -static char *delim = ":"; +static FILE *fp = NULL; +static char linestr[AU_LINE_MAX]; +static const char *eventdelim = ":"; static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; @@ -49,16 +49,16 @@ * Parse one line from the audit_event file into the au_event_ent structure. */ static struct au_event_ent * -eventfromstr(char *str, char *delim, struct au_event_ent *e) +eventfromstr(char *str, struct au_event_ent *e) { char *evno, *evname, *evdesc, *evclass; struct au_mask evmask; char *last; - evno = strtok_r(str, delim, &last); - evname = strtok_r(NULL, delim, &last); - evdesc = strtok_r(NULL, delim, &last); - evclass = strtok_r(NULL, delim, &last); + evno = strtok_r(str, eventdelim, &last); + evname = strtok_r(NULL, eventdelim, &last); + evdesc = strtok_r(NULL, eventdelim, &last); + evclass = strtok_r(NULL, eventdelim, &last); if ((evno == NULL) || (evname == NULL) || (evdesc == NULL) || (evclass == NULL)) @@ -144,7 +144,7 @@ * XXXRW: Perhaps we should keep reading lines until we find a valid * one, rather than stopping when we hit an invalid one? */ - if (eventfromstr(linestr, delim, e) == NULL) + if (eventfromstr(linestr, e) == NULL) return (NULL); return (e); @@ -200,7 +200,7 @@ if ((nl = strrchr(linestr, '\n')) != NULL) *nl = '\0'; - if (eventfromstr(linestr, delim, e) != NULL) { + if (eventfromstr(linestr, e) != NULL) { if (strcmp(name, e->ae_name) == 0) return (e); } @@ -254,7 +254,7 @@ if ((nl = strrchr(linestr, '\n')) != NULL) *nl = '\0'; - if (eventfromstr(linestr, delim, e) != NULL) { + if (eventfromstr(linestr, e) != NULL) { if (event_number == e->ae_number) return (e); } ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/bsm_flags.c#6 (text+ko) ==== @@ -34,7 +34,7 @@ #include #include -static const char *delim = ","; +static const char *flagdelim = ","; /* * Convert the character representation of audit values into the au_mask_t @@ -45,17 +45,11 @@ { char class_ent_name[AU_CLASS_NAME_MAX]; char class_ent_desc[AU_CLASS_DESC_MAX]; - struct au_class_ent c, *cp; + struct au_class_ent c; char *tok; char sel, sub; char *last; - - if ((auditstr == NULL) || (masks == NULL)) { - errno = EINVAL; - return (-1); - } - bzero(&c, sizeof(c)); bzero(class_ent_name, sizeof(class_ent_name)); bzero(class_ent_desc, sizeof(class_ent_desc)); @@ -65,7 +59,7 @@ masks->am_success = 0; masks->am_failure = 0; - tok = strtok_r(auditstr, delim, &last); + tok = strtok_r(auditstr, flagdelim, &last); while (tok != NULL) { /* Check for the events that should not be audited. */ if (tok[0] == '^') { @@ -84,7 +78,7 @@ } else sel = AU_PRS_BOTH; - if ((cp = getauclassnam_r(&c, tok)) != NULL) { + if ((getauclassnam_r(&c, tok)) != NULL) { if (sub) SUB_FROM_MASK(masks, c.ac_class, sel); else @@ -95,7 +89,7 @@ } /* Get the next class. */ - tok = strtok_r(NULL, delim, &last); + tok = strtok_r(NULL, flagdelim, &last); } return (0); } @@ -118,15 +112,10 @@ { char class_ent_name[AU_CLASS_NAME_MAX]; char class_ent_desc[AU_CLASS_DESC_MAX]; - struct au_class_ent c, *cp; + struct au_class_ent c; char *strptr = auditstr; u_char sel; - if ((auditstr == NULL) || (masks == NULL)) { - return (EINVAL); - return (-1); - } - bzero(&c, sizeof(c)); bzero(class_ent_name, sizeof(class_ent_name)); bzero(class_ent_desc, sizeof(class_ent_desc)); @@ -138,7 +127,7 @@ * the success or failure masks. */ setauclass(); - while ((cp = getauclassent_r(&c)) != NULL) { + while ((getauclassent_r(&c)) != NULL) { sel = 0; /* Dont do anything for class = no. */ ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/bsm_io.c#7 (text+ko) ==== @@ -97,11 +97,11 @@ } while (0) #define SET_PTR(buf, len, ptr, size, bytesread, err) do { \ - if (bytesread + size > len) \ - err = 1; \ + if ((bytesread) + (size) > (len)) \ + (err) = 1; \ else { \ - ptr = buf + bytesread; \ - bytesread += size; \ + (ptr) = (buf) + (bytesread); \ + (bytesread) += (size); \ } \ } while (0) @@ -109,7 +109,7 @@ * Prints the delimiter string. */ static void -print_delim(FILE *fp, char *del) +print_delim(FILE *fp, const char *del) { fprintf(fp, "%s", del); @@ -288,14 +288,14 @@ static void print_sec32(FILE *fp, u_int32_t sec, char raw) { - time_t time; + time_t timestamp; char timestr[26]; if (raw) fprintf(fp, "%u", sec); else { - time = (time_t)sec; - ctime_r(&time, timestr); + timestamp = (time_t)sec; + ctime_r(×tamp, timestr); timestr[24] = '\0'; /* No new line */ fprintf(fp, "%s", timestr); } @@ -308,14 +308,14 @@ static void print_sec64(FILE *fp, u_int64_t sec, char raw) { - time_t time; + time_t timestamp; char timestr[26]; if (raw) fprintf(fp, "%u", (u_int32_t)sec); else { - time = (time_t)sec; - ctime_r(&time, timestr); + timestamp = (time_t)sec; + ctime_r(×tamp, timestr); timestr[24] = '\0'; /* No new line */ fprintf(fp, "%s", timestr); } @@ -369,12 +369,12 @@ struct in_addr ipv4; struct in6_addr ipv6; char dst[INET6_ADDRSTRLEN]; - const char *ret = NULL; switch (type) { case AU_IPv4: ipv4.s_addr = (in_addr_t)(ipaddr[0]); - ret = inet_ntop(AF_INET, &ipv4, dst, INET6_ADDRSTRLEN); + fprintf(fp, "%s", inet_ntop(AF_INET, &ipv4, dst, + INET6_ADDRSTRLEN)); break; case AU_IPv6: @@ -382,13 +382,12 @@ ipv6.__u6_addr.__u6_addr32[1] = ipaddr[1]; ipv6.__u6_addr.__u6_addr32[2] = ipaddr[2]; ipv6.__u6_addr.__u6_addr32[3] = ipaddr[3]; - ret = inet_ntop(AF_INET6, &ipv6, dst, INET6_ADDRSTRLEN); + fprintf(fp, "%s", inet_ntop(AF_INET6, &ipv6, dst, + INET6_ADDRSTRLEN)); break; - } - if (ret != NULL) { - fprintf(fp, "%s", ret); - /* XXX Is ret heap memory? Leaked if so */ + default: + fprintf(fp, "invalid"); } } @@ -696,7 +695,7 @@ break; case AU_IPv6: - READ_TOKEN_BYTES(buf, len, &tok->tt.hdr64_ex.addr, + READ_TOKEN_BYTES(buf, len, tok->tt.hdr64_ex.addr, sizeof(tok->tt.hdr64_ex.addr), tok->len, err); break; } @@ -755,7 +754,8 @@ } static void -print_trailer_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, char sfrm) +print_trailer_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm) { print_tok_type(fp, tok->id, "trailer", raw); @@ -795,7 +795,8 @@ } static void -print_arg32_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, char sfrm) +print_arg32_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm) { print_tok_type(fp, tok->id, "argument", raw); @@ -833,7 +834,8 @@ } static void -print_arg64_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, char sfrm) +print_arg64_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm) { print_tok_type(fp, tok->id, "argument", raw); @@ -898,7 +900,8 @@ } static void -print_arb_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, char sfrm) +print_arb_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm) { char *str; char *format; @@ -1022,7 +1025,8 @@ } static void -print_attr32_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, char sfrm) +print_attr32_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm) { print_tok_type(fp, tok->id, "attribute", raw); @@ -1081,7 +1085,8 @@ } static void -print_attr64_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, char sfrm) +print_attr64_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm) { print_tok_type(fp, tok->id, "attribute", raw); @@ -1120,7 +1125,8 @@ } static void -print_exit_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, char sfrm) +print_exit_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm) { print_tok_type(fp, tok->id, "exit", raw); @@ -1134,7 +1140,8 @@ * count 4 bytes * text count null-terminated string(s) */ -static int fetch_execarg_tok(tokenstr_t *tok, char *buf, int len) +static int +fetch_execarg_tok(tokenstr_t *tok, char *buf, int len) { int err = 0; int i; @@ -1144,7 +1151,7 @@ if (err) return (-1); - for (i = 0; i< tok->tt.execarg.count; i++) { + for (i = 0; i < tok->tt.execarg.count; i++) { bptr = buf + tok->len; tok->tt.execarg.text[i] = bptr; @@ -1163,7 +1170,8 @@ } static void -print_execarg_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, char sfrm) +print_execarg_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm) { int i; @@ -1209,7 +1217,8 @@ } static void -print_execenv_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, char sfrm) +print_execenv_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm) { int i; @@ -1252,7 +1261,8 @@ } static void -print_file_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, char sfrm) +print_file_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm) { print_tok_type(fp, tok->id, "file", raw); @@ -1289,7 +1299,8 @@ } static void -print_newgroups_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, char sfrm) +print_newgroups_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm) { int i; @@ -1317,7 +1328,8 @@ } static void -print_inaddr_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, char sfrm) +print_inaddr_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm) { print_tok_type(fp, tok->id, "ip addr", raw); @@ -1344,7 +1356,7 @@ if (err) return (-1); } else if (tok->tt.inaddr_ex.type == AU_IPv6) { - READ_TOKEN_BYTES(buf, len, &tok->tt.inaddr_ex.addr, + READ_TOKEN_BYTES(buf, len, tok->tt.inaddr_ex.addr, sizeof(tok->tt.inaddr_ex.addr), tok->len, err); if (err) return (-1); @@ -1355,7 +1367,8 @@ } static void -print_inaddr_ex_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, char sfrm) +print_inaddr_ex_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm) { print_tok_type(fp, tok->id, "ip addr ex", raw); @@ -1418,7 +1431,8 @@ } static void -print_ip_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, char sfrm) +print_ip_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm) { print_tok_type(fp, tok->id, "ip", raw); @@ -1465,7 +1479,8 @@ } static void -print_ipc_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, char sfrm) +print_ipc_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm) { print_tok_type(fp, tok->id, "IPC", raw); @@ -1521,7 +1536,8 @@ } static void -print_ipcperm_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, char sfrm) +print_ipcperm_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm) { print_tok_type(fp, tok->id, "IPC perm", raw); @@ -1557,7 +1573,8 @@ } static void -print_iport_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, char sfrm) +print_iport_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm) { print_tok_type(fp, tok->id, "ip port", raw); @@ -1587,7 +1604,8 @@ } static void -print_opaque_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, char sfrm) +print_opaque_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm) { print_tok_type(fp, tok->id, "opaque", raw); @@ -1618,7 +1636,8 @@ } static void -print_path_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, char sfrm) +print_path_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm) { print_tok_type(fp, tok->id, "path", raw); @@ -1684,7 +1703,8 @@ } static void -print_process32_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, char sfrm) +print_process32_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm) { print_tok_type(fp, tok->id, "process", raw); @@ -1757,7 +1777,7 @@ if (err) return (-1); } else if (tok->tt.proc32_ex.tid.type == AU_IPv6) { - READ_TOKEN_BYTES(buf, len, &tok->tt.proc32_ex.tid.addr, + READ_TOKEN_BYTES(buf, len, tok->tt.proc32_ex.tid.addr, sizeof(tok->tt.proc32_ex.tid.addr), tok->len, err); if (err) return (-1); @@ -1769,7 +1789,7 @@ static void print_process32ex_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, - char sfrm) + __unused char sfrm) { print_tok_type(fp, tok->id, "process_ex", raw); @@ -1815,7 +1835,8 @@ } static void -print_return32_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, char sfrm) +print_return32_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm) { print_tok_type(fp, tok->id, "return", raw); @@ -1842,7 +1863,8 @@ } static void -print_return64_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, char sfrm) +print_return64_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm) { print_tok_type(fp, tok->id, "return", raw); @@ -1868,7 +1890,8 @@ } static void -print_seq_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, char sfrm) +print_seq_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm) { print_tok_type(fp, tok->id, "sequence", raw); @@ -1905,7 +1928,7 @@ static void print_sock_inet32_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, -char sfrm) + __unused char sfrm) { print_tok_type(fp, tok->id, "socket-inet", raw); @@ -1929,7 +1952,7 @@ if (err) return (-1); - READ_TOKEN_BYTES(buf, len, &tok->tt.sockunix.path, 104, tok->len, + READ_TOKEN_BYTES(buf, len, tok->tt.sockunix.path, 104, tok->len, err); if (err) return (-1); @@ -1939,7 +1962,7 @@ static void print_sock_unix_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, - char sfrm) + __unused char sfrm) { print_tok_type(fp, tok->id, "socket-unix", raw); @@ -1987,7 +2010,8 @@ } static void -print_socket_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, char sfrm) +print_socket_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm) { print_tok_type(fp, tok->id, "socket", raw); @@ -2061,7 +2085,8 @@ } static void -print_subject32_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, char sfrm) +print_subject32_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm) { print_tok_type(fp, tok->id, "subject", raw); @@ -2143,7 +2168,8 @@ } static void -print_subject64_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, char sfrm) +print_subject64_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm) { print_tok_type(fp, tok->id, "subject", raw); @@ -2229,7 +2255,7 @@ if (err) return (-1); } else if (tok->tt.subj32_ex.tid.type == AU_IPv6) { - READ_TOKEN_BYTES(buf, len, &tok->tt.subj32_ex.tid.addr, + READ_TOKEN_BYTES(buf, len, tok->tt.subj32_ex.tid.addr, sizeof(tok->tt.subj32_ex.tid.addr), tok->len, err); if (err) return (-1); @@ -2241,7 +2267,7 @@ static void print_subject32ex_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, - char sfrm) + __unused char sfrm) { print_tok_type(fp, tok->id, "subject_ex", raw); @@ -2288,7 +2314,8 @@ } static void -print_text_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, char sfrm) +print_text_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm) { print_tok_type(fp, tok->id, "text", raw); @@ -2350,7 +2377,7 @@ static void print_socketex32_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, - char sfrm) + __unused char sfrm) { print_tok_type(fp, tok->id, "socket", raw); @@ -2372,7 +2399,7 @@ int err = 0; int recoversize; - recoversize = len - tok->len - BSM_TRAILER_SIZE; + recoversize = len - (tok->len + BSM_TRAILER_SIZE); if (recoversize <= 0) return (-1); @@ -2386,7 +2413,8 @@ } static void -print_invalid_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, char sfrm) +print_invalid_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, + __unused char sfrm) { print_tok_type(fp, tok->id, "unknown", raw); @@ -2569,6 +2597,7 @@ case AUT_ATTR64: print_attr64_tok(outfp, tok, del, raw, sfrm); + return; case AUT_EXIT: print_exit_tok(outfp, tok, del, raw, sfrm); @@ -2737,7 +2766,7 @@ bptr += sizeof(u_int32_t); /* now read remaining record bytes */ - bytestoread = recsize - sizeof(u_int32_t) - sizeof(u_char); + bytestoread = recsize - (sizeof(u_int32_t) + sizeof(u_char)); if (fread(bptr, 1, bytestoread, fp) < bytestoread) { free(*buf); ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/bsm_mask.c#5 (text+ko) ==== @@ -165,7 +165,10 @@ switch (flag) { case AU_PRS_REREAD: flush_cache(); - load_event_table(); + if (load_event_table() == -1) { + pthread_mutex_unlock(&mutex); + return (-1); + } ev = read_from_cache(event); break; case AU_PRS_USECACHE: ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/bsm_token.c#7 (text+ko) ==== @@ -47,6 +47,7 @@ #include #include +#include #include #include #include @@ -57,16 +58,18 @@ #include #define GET_TOKEN_AREA(t, dptr, length) do { \ - t = malloc (sizeof(token_t)); \ - if (t != NULL) { \ - t->len = (length); \ - t->t_data = malloc ((length) * sizeof(u_char)); \ - if ((dptr = t->t_data) == NULL) { \ + (t) = malloc(sizeof(token_t)); \ + if ((t) != NULL) { \ + (t)->len = (length); \ + (dptr) = (t->t_data) = malloc((length) * sizeof(u_char)); \ + if ((dptr) == NULL) { \ free(t); \ - t = NULL; \ + (t) = NULL; \ } else \ - memset(dptr, 0, (length)); \ - } \ + memset((dptr), 0, (length)); \ + } else \ + (dptr) = NULL; \ + assert(t == NULL || dptr != NULL); \ } while (0) /* @@ -628,8 +631,9 @@ } token_t * -au_to_process64(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, - pid_t pid, au_asid_t sid, au_tid_t *tid) +au_to_process64(__unused au_id_t auid, __unused uid_t euid, + __unused gid_t egid, __unused uid_t ruid, __unused gid_t rgid, + __unused pid_t pid, __unused au_asid_t sid, __unused au_tid_t *tid) { errno = ENOTSUP; @@ -637,8 +641,9 @@ } token_t * -au_to_process(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, - pid_t pid, au_asid_t sid, au_tid_t *tid) +au_to_process(__unused au_id_t auid, __unused uid_t euid, + __unused gid_t egid, __unused uid_t ruid, __unused gid_t rgid, + __unused pid_t pid, __unused au_asid_t sid, __unused au_tid_t *tid) { return (au_to_process32(auid, euid, egid, ruid, rgid, pid, sid, @@ -1172,7 +1177,8 @@ } token_t * -au_to_header64(int rec_size, au_event_t e_type, au_emod_t e_mod) +au_to_header64(__unused int rec_size, __unused au_event_t e_type, + __unused au_emod_t e_mod) { errno = ENOTSUP; ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/bsm_wrappers.c#4 (text+ko) ==== @@ -34,7 +34,6 @@ #include #include -#include #include #include