diff options
author | Sam Hartman <hartmans@debian.org> | 2024-12-02 09:55:34 -0700 |
---|---|---|
committer | Sam Hartman <hartmans@debian.org> | 2024-12-02 09:55:34 -0700 |
commit | 7c9fb6472dcfae34ddbf4fbc9ecfafae2cf173c3 (patch) | |
tree | b04aa8c3b2354427cbba730ccc832249f7244985 /libpam/pam_modutil_ioloop.c | |
parent | e9aa2ef52a423a3a33299bf7e8715eb5bd76ea67 (diff) | |
parent | ea980d991196df67cdd56b3f65d210b73218d08a (diff) | |
download | pam-7c9fb6472dcfae34ddbf4fbc9ecfafae2cf173c3.tar.gz pam-7c9fb6472dcfae34ddbf4fbc9ecfafae2cf173c3.tar.bz2 pam-7c9fb6472dcfae34ddbf4fbc9ecfafae2cf173c3.zip |
New upstream version 1.7.0
Diffstat (limited to 'libpam/pam_modutil_ioloop.c')
-rw-r--r-- | libpam/pam_modutil_ioloop.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/libpam/pam_modutil_ioloop.c b/libpam/pam_modutil_ioloop.c index 54ab0e55..72b58455 100644 --- a/libpam/pam_modutil_ioloop.c +++ b/libpam/pam_modutil_ioloop.c @@ -1,8 +1,8 @@ /* * $Id$ * - * These functions provides common methods for ensure a complete read or - * write occurs. It handles EINTR and partial read/write returns. + * These functions provide common methods to ensure a complete read or + * write occurs. They handle EINTR and partial read/write returns. */ #include "pam_modutil_private.h" @@ -15,6 +15,11 @@ pam_modutil_read(int fd, char *buffer, int count) { int block, offset = 0; + if (count < 0) { + errno = EINVAL; + return -1; + } + while (count > 0) { block = read(fd, &buffer[offset], count); @@ -36,6 +41,11 @@ pam_modutil_write(int fd, const char *buffer, int count) { int block, offset = 0; + if (count < 0) { + errno = EINVAL; + return -1; + } + while (count > 0) { block = write(fd, &buffer[offset], count); |