Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2005-03-10 02:46:51 +0300
committerChristopher Faylor <me@cgf.cx>2005-03-10 02:46:51 +0300
commit8b59143fcddc3c7596a2a4a2a484881754d12106 (patch)
tree063df2785ab96e04b3e701a2f75c46134c30c699
parent7d243cd43b7c8a9ecb9cb9752bd978aa0f6d3f95 (diff)
* net.cc (dup_ent): Revert older stupid test for null. Don't copy name if it
is NULL.
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/net.cc14
2 files changed, 13 insertions, 6 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 3f74133b6..1db62825b 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,8 @@
+2005-03-09 Christopher Faylor <cgf@timesys.com>
+
+ * net.cc (dup_ent): Revert older stupid test for null. Don't copy name
+ if it is NULL.
+
2005-03-09 Corinna Vinschen <corinna@vinschen.de>
* fhandler_socket.cc (fhandler_socket::eid_pipe_name): Fix format
diff --git a/winsup/cygwin/net.cc b/winsup/cygwin/net.cc
index 3fee9eb91..87556dc5b 100644
--- a/winsup/cygwin/net.cc
+++ b/winsup/cygwin/net.cc
@@ -397,8 +397,7 @@ dup_ent (void *old, void *src0, struct_type type)
return NULL;
unionent *src = (unionent *) src0;
- debug_printf ("duping %sent \"%s\", %p", entnames[type],
- src ? src->name : "<null!>", src);
+ debug_printf ("duping %sent \"%s\", %p", entnames[type], src->name, src);
/* Find the size of the raw structure minus any character strings, etc. */
int sz, struct_sz;
@@ -482,11 +481,14 @@ dup_ent (void *old, void *src0, struct_type type)
in each, of course. */
dst->port_proto_addrtype = src->port_proto_addrtype;
- /* Copy the name field to dst, using space just beyond the end of
- the dst structure. */
char *dp = ((char *) dst) + struct_sz;
- strcpy (dst->name = dp, src->name);
- dp += namelen;
+ if (namelen)
+ {
+ /* Copy the name field to dst, using space just beyond the end of
+ the dst structure. */
+ strcpy (dst->name = dp, src->name);
+ dp += namelen;
+ }
/* Copy the 'list' type to dst, using space beyond end of structure
+ storage for name. */