From c35391d0d2b0c5fd057aa1ccd4c215a0082919d5 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Tue, 4 Nov 2003 13:15:47 +0000 Subject: * net.cc (dup_ent): Use IsBadStringPtr for alignment checks. Don't use a known bad pointer. --- winsup/cygwin/net.cc | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'winsup/cygwin/net.cc') 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) { -- cgit v1.2.3