- Patch read_function() to handle size_t from read() correctly (#429207)
This commit is contained in:
parent
a58f607ec1
commit
bb45555cf9
@ -1,18 +1,25 @@
|
|||||||
diff -up dhcp-4.0.0/common/conflex.c.parse dhcp-4.0.0/common/conflex.c
|
diff -up dhcp-4.0.0/common/conflex.c.parse dhcp-4.0.0/common/conflex.c
|
||||||
--- dhcp-4.0.0/common/conflex.c.parse 2008-01-16 15:26:09.000000000 -1000
|
--- dhcp-4.0.0/common/conflex.c.parse 2008-01-17 09:05:17.000000000 -1000
|
||||||
+++ dhcp-4.0.0/common/conflex.c 2008-01-16 16:02:48.000000000 -1000
|
+++ dhcp-4.0.0/common/conflex.c 2008-01-17 09:06:48.000000000 -1000
|
||||||
@@ -182,8 +182,12 @@ static int get_char (cfile)
|
@@ -1434,16 +1438,18 @@ read_function (struct parse * cfile)
|
||||||
|
{
|
||||||
|
int c;
|
||||||
|
|
||||||
|
- cfile -> buflen = read (cfile -> file, cfile -> inbuf, cfile -> bufsiz);
|
||||||
|
- if (cfile -> buflen == 0) {
|
||||||
|
+ ssize_t n = read (cfile -> file, cfile -> inbuf, cfile -> bufsiz);
|
||||||
|
+ if (n == 0) {
|
||||||
c = EOF;
|
c = EOF;
|
||||||
}
|
cfile -> bufix = 0;
|
||||||
|
- } else if (cfile -> buflen < 0) {
|
||||||
|
+ cfile -> buflen = 0;
|
||||||
|
+ } else if (n < 0) {
|
||||||
|
c = EOF;
|
||||||
|
cfile -> bufix = cfile -> buflen = 0;
|
||||||
} else {
|
} else {
|
||||||
- c = cfile->inbuf [cfile->bufix];
|
c = cfile -> inbuf [0];
|
||||||
- cfile->bufix++;
|
cfile -> bufix = 1;
|
||||||
+ if (strlen(cfile->inbuf) >= (cfile->bufix + 1)) {
|
+ cfile -> buflen = n;
|
||||||
+ c = EOF;
|
|
||||||
+ } else {
|
|
||||||
+ c = cfile->inbuf [cfile->bufix];
|
|
||||||
+ cfile->bufix++;
|
|
||||||
+ }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!cfile->ugflag) {
|
return c;
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
Summary: DHCP (Dynamic Host Configuration Protocol) server and relay agent
|
Summary: DHCP (Dynamic Host Configuration Protocol) server and relay agent
|
||||||
Name: dhcp
|
Name: dhcp
|
||||||
Version: 4.0.0
|
Version: 4.0.0
|
||||||
Release: 4%{?dist}
|
Release: 5%{?dist}
|
||||||
# NEVER CHANGE THE EPOCH on this package. The previous maintainer made
|
# NEVER CHANGE THE EPOCH on this package. The previous maintainer made
|
||||||
# incorrect use of the epoch and that's why it is at 12 now. It should have
|
# incorrect use of the epoch and that's why it is at 12 now. It should have
|
||||||
# never been used, but it was. So we are stuck with it.
|
# never been used, but it was. So we are stuck with it.
|
||||||
@ -404,6 +404,9 @@ fi
|
|||||||
%{_libdir}/libdhcp4client.so
|
%{_libdir}/libdhcp4client.so
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Jan 17 2008 David Cantrell <dcantrell@redhat.com> - 12:4.0.0-5
|
||||||
|
- Patch read_function() to handle size_t from read() correctly (#429207)
|
||||||
|
|
||||||
* Wed Jan 16 2008 David Cantrell <dcantrell@redhat.com> - 12:4.0.0-4
|
* Wed Jan 16 2008 David Cantrell <dcantrell@redhat.com> - 12:4.0.0-4
|
||||||
- Fix dhclient.lease file parsing problems (#428785)
|
- Fix dhclient.lease file parsing problems (#428785)
|
||||||
- Disable IPv6 support for now as we already ship dhcpv6 (#428987)
|
- Disable IPv6 support for now as we already ship dhcpv6 (#428987)
|
||||||
|
Loading…
Reference in New Issue
Block a user