Date: Mon, 28 Nov 2005 21:22:07 GMT From: Robert Watson <rwatson@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 87382 for review Message-ID: <200511282122.jASLM7uK022423@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=87382 Change 87382 by rwatson@rwatson_peppercorn on 2005/11/28 21:21:48 In getauditflagsbin(), return EINVAL if the arguments are invalid or a class in the mask string isn't recognized. In getauditflagschar(), return EINVAL if the arguments are invalid. Annotate that we should also reject the character string if it contains an unrecognized class. Affected files ... .. //depot/projects/trustedbsd/openbsm/libbsm/bsm_flags.c#6 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/libbsm/bsm_flags.c#6 (text+ko) ==== @@ -28,6 +28,7 @@ #include <bsm/libbsm.h> +#include <errno.h> #include <stdio.h> #include <string.h> @@ -45,8 +46,10 @@ struct au_class_ent *c; char *last; - if ((auditstr == NULL) || (masks == NULL)) + if ((auditstr == NULL) || (masks == NULL)) { + errno = EINVAL; return (-1); + } masks->am_success = 0; masks->am_failure = 0; @@ -76,8 +79,10 @@ else ADD_TO_MASK(masks, c->ac_class, sel); free_au_class_ent(c); - } else + } else { + errno = EINVAL; return (-1); + } /* Get the next class. */ tok = strtok_r(NULL, delim, &last); @@ -89,6 +94,9 @@ * Convert the au_mask_t fields into a string value. If verbose is non-zero * the long flag names are used else the short (2-character)flag names are * used. + * + * XXXRW: If bits are specified that are not matched by any class, they are + * omitted rather than rejected with EINVAL. */ int getauditflagschar(char *auditstr, au_mask_t *masks, int verbose) @@ -97,8 +105,10 @@ char *strptr = auditstr; u_char sel; - if ((auditstr == NULL) || (masks == NULL)) + if ((auditstr == NULL) || (masks == NULL)) { + return (EINVAL); return (-1); + } /* * Enumerate the class entries, check if each is selected in either
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200511282122.jASLM7uK022423>