diff options
author | Christopher Faylor <me@cgf.cx> | 2003-11-04 13:15:47 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2003-11-04 13:15:47 +0000 |
commit | c35391d0d2b0c5fd057aa1ccd4c215a0082919d5 (patch) | |
tree | ea6825034113709a64ddd4833b0e4c10f08e9527 /winsup/cygwin | |
parent | 02bd05e386e9bac85d8c06125c2c90e1ebffa7f4 (diff) | |
download | cygnal-c35391d0d2b0c5fd057aa1ccd4c215a0082919d5.tar.gz cygnal-c35391d0d2b0c5fd057aa1ccd4c215a0082919d5.tar.bz2 cygnal-c35391d0d2b0c5fd057aa1ccd4c215a0082919d5.zip |
* net.cc (dup_ent): Use IsBadStringPtr for alignment checks. Don't use a known
bad pointer.
Diffstat (limited to 'winsup/cygwin')
-rw-r--r-- | winsup/cygwin/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/cygwin/net.cc | 9 |
2 files changed, 9 insertions, 5 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 8eae5571c..beea371aa 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2003-11-04 Christopher Faylor <cgf@redhat.com> + + * net.cc (dup_ent): Use IsBadStringPtr for alignment checks. Don't use + a known bad pointer. + 2003-11-03 Corinna Vinschen <corinna@vinschen.de> * net.cc (dup_ent): Move Win 95 misalignment recogition before diff --git a/winsup/cygwin/net.cc b/winsup/cygwin/net.cc index f956cbd8f..835885b12 100644 --- a/winsup/cygwin/net.cc +++ b/winsup/cygwin/net.cc @@ -506,13 +506,12 @@ dup_ent (void *old, void *src0, struct_type type) { /* Windows 95 idiocy. Structure is misaligned on Windows 95. Kludge around this by trying a different pointer alignment. */ - if (IsBadReadPtr (src->s_proto, sizeof (src->s_proto)) - && !IsBadReadPtr (((pservent *) src)->s_proto, sizeof (src->s_proto))) - s_proto = ((pservent *) src)->s_proto; - else + if (!IsBadStringPtr (src->s_proto, 0x7fffffff)) s_proto = src->s_proto; + else if (!IsBadStringPtr (((pservent *) src)->s_proto, 0x7fffffff)) + s_proto = ((pservent *) src)->s_proto; + sz += (protolen = strlen_round (s_proto)); } - sz += (protolen = strlen_round (s_proto)); } else if (type == is_hostent) { |