You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.4 KiB
39 lines
1.4 KiB
From 841dd859360ff07d705e869d2a402f6b181a14f9 Mon Sep 17 00:00:00 2001 |
|
From: Arthur de Jong <arthur@arthurdejong.org> |
|
Date: Sun, 1 Sep 2013 09:47:18 +0000 |
|
Subject: [PATCH 1/3] fix buffer overflow on interrupted read (thanks John |
|
Sullivan) (07a8170 from 0.9) |
|
|
|
git-svn-id: http://arthurdejong.org/svn/nss-pam-ldapd/nss-pam-ldapd-0.8@2029 ef36b2f9-881f-0410-afb5-c4e39611909c |
|
--- |
|
AUTHORS | 1 + |
|
common/tio.c | 4 ++-- |
|
2 files changed, 3 insertions(+), 2 deletions(-) |
|
|
|
diff --git a/AUTHORS b/AUTHORS |
|
index 5debe5f7c2a059e67f47098df8647c66eab85c13..65ee0789cb8c300c59f7b00b75e80b5b51d96ac9 100644 |
|
--- a/AUTHORS |
|
+++ b/AUTHORS |
|
@@ -119,3 +119,4 @@ Maxim Vetrov <muxas@mail.ru> |
|
Matthew L. Dailey <matthew.l.dailey@dartmouth.edu> |
|
Chris Hiestand <chiestand@salk.edu> |
|
Jon Severinsson <jon@severinsson.net> |
|
+John Sullivan <jsrhbz@kanargh.force9.co.uk> |
|
diff --git a/common/tio.c b/common/tio.c |
|
index 4456198fe84ea72966edb06700c0fff751dd3451..9aef80ca91faedad8f75e09b9070d22ed4a0878d 100644 |
|
--- a/common/tio.c |
|
+++ b/common/tio.c |
|
@@ -283,8 +283,8 @@ int tio_read(TFILE *fp, void *buf, size_t count) |
|
} |
|
else if ((rv<0)&&(errno!=EINTR)&&(errno!=EAGAIN)) |
|
return -1; /* something went wrong with the read */ |
|
- /* skip the read part in the buffer */ |
|
- fp->readbuffer.len=rv; |
|
+ else if (rv>0) |
|
+ fp->readbuffer.len=rv; /* skip the read part in the buffer */ |
|
#ifdef DEBUG_TIO_STATS |
|
fp->bytesread+=rv; |
|
#endif /* DEBUG_TIO_STATS */ |
|
-- |
|
1.8.3.1 |
|
|
|
|