[apparmor] [PATCH 5/7] libapparmor: Make aa_getpeercon_raw() similar to aa_getprocattr_raw()
Seth Arnold
seth.arnold at canonical.com
Mon Jun 24 21:27:57 UTC 2013
On Sun, Jun 23, 2013 at 04:23:17PM -0700, Tyler Hicks wrote:
> The parameter names are slightly different in the two functions. Rename
> buffer to buf and rename size to len to make the two function prototypes
> look similar.
>
> Signed-off-by: Tyler Hicks <tyhicks at canonical.com>
Acked-by: Seth Arnold <seth.arnold at canonical.com>
> ---
> libraries/libapparmor/src/apparmor.h | 2 +-
> libraries/libapparmor/src/kernel_interface.c | 26 +++++++++++++-------------
> libraries/libapparmor/swig/SWIG/libapparmor.i | 2 +-
> 3 files changed, 15 insertions(+), 15 deletions(-)
>
> diff --git a/libraries/libapparmor/src/apparmor.h b/libraries/libapparmor/src/apparmor.h
> index 142d1e1..79bc69c 100644
> --- a/libraries/libapparmor/src/apparmor.h
> +++ b/libraries/libapparmor/src/apparmor.h
> @@ -48,7 +48,7 @@ extern int aa_getprocattr_raw(pid_t tid, const char *attr, char *buf, int len,
> extern int aa_getprocattr(pid_t tid, const char *attr, char **buf, char **mode);
> extern int aa_gettaskcon(pid_t target, char **con, char **mode);
> extern int aa_getcon(char **con, char **mode);
> -extern int aa_getpeercon_raw(int fd, char *buffer, int *size, char **mode);
> +extern int aa_getpeercon_raw(int fd, char *buf, int *len, char **mode);
> extern int aa_getpeercon(int fd, char **con, char **mode);
>
> #define __macroarg_counter(Y...) __macroarg_count1 ( , ##Y)
> diff --git a/libraries/libapparmor/src/kernel_interface.c b/libraries/libapparmor/src/kernel_interface.c
> index 0c02d15..7524188 100644
> --- a/libraries/libapparmor/src/kernel_interface.c
> +++ b/libraries/libapparmor/src/kernel_interface.c
> @@ -561,35 +561,35 @@ int aa_getcon(char **con, char **mode)
> /**
> * aa_getpeercon_raw - get the confinement of the socket's peer (other end)
> * @fd: socket to get peer confinement for
> - * @con: pointer to buffer to store confinement string
> - * @size: initially contains size of the buffer, returns size of data read
> + * @buf: buffer to store the result in
> + * @len: initially contains size of the buffer, returns size of data read
> * @mode: if set will point to mode string within buffer if it is present
> *
> * Returns: length of confinement data including null termination or -1 on error
> - * if errno == ERANGE then @size will hold the size needed
> + * if errno == ERANGE then @len will hold the size needed
> */
> -int aa_getpeercon_raw(int fd, char *buffer, int *size, char **mode)
> +int aa_getpeercon_raw(int fd, char *buf, int *len, char **mode)
> {
> - socklen_t optlen = *size;
> + socklen_t optlen = *len;
> char *mode_str;
> int rc;
>
> - if (optlen <= 0 || buffer == NULL) {
> + if (optlen <= 0 || buf == NULL) {
> errno = EINVAL;
> return -1;
> }
>
> - rc = getsockopt(fd, SOL_SOCKET, SO_PEERSEC, buffer, &optlen);
> + rc = getsockopt(fd, SOL_SOCKET, SO_PEERSEC, buf, &optlen);
> if (rc == -1 || optlen <= 0)
> goto out;
>
> /* check for null termination */
> - if (buffer[optlen - 1] != 0) {
> - if (optlen < *size) {
> - buffer[optlen] = 0;
> + if (buf[optlen - 1] != 0) {
> + if (optlen < *len) {
> + buf[optlen] = 0;
> optlen++;
> } else {
> - /* buffer needs to be bigger by 1 */
> + /* buf needs to be bigger by 1 */
> rc = -1;
> errno = ERANGE;
> optlen++;
> @@ -597,13 +597,13 @@ int aa_getpeercon_raw(int fd, char *buffer, int *size, char **mode)
> }
> }
>
> - mode_str = parse_confinement_mode(buffer, optlen);
> + mode_str = parse_confinement_mode(buf, optlen);
> if (mode)
> *mode = mode_str;
>
> rc = optlen;
> out:
> - *size = optlen;
> + *len = optlen;
> return rc;
> }
>
> diff --git a/libraries/libapparmor/swig/SWIG/libapparmor.i b/libraries/libapparmor/swig/SWIG/libapparmor.i
> index 13b86b8..1d3ca07 100644
> --- a/libraries/libapparmor/swig/SWIG/libapparmor.i
> +++ b/libraries/libapparmor/swig/SWIG/libapparmor.i
> @@ -25,5 +25,5 @@ extern int aa_getprocattr_raw(pid_t tid, const char *attr, char *buf, int len,
> extern int aa_getprocattr(pid_t tid, const char *attr, char **buf, char **mode);
> extern int aa_gettaskcon(pid_t target, char **con, char **mode);
> extern int aa_getcon(char **con, char **mode);
> -extern int aa_getpeercon_raw(int fd, char *buffer, int *size, char **mode);
> +extern int aa_getpeercon_raw(int fd, char *buf, int *len, char **mode);
> extern int aa_getpeercon(int fd, char **con, char **mode);
> --
> 1.8.1.2
>
>
> --
> AppArmor mailing list
> AppArmor at lists.ubuntu.com
> Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/apparmor
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: Digital signature
URL: <https://lists.ubuntu.com/archives/apparmor/attachments/20130624/490855ed/attachment.pgp>
More information about the AppArmor
mailing list