summaryrefslogtreecommitdiff
path: root/usr/src/cmd/ypcmd
diff options
context:
space:
mode:
authorsdussud <none@none>2005-07-07 05:51:31 -0700
committersdussud <none@none>2005-07-07 05:51:31 -0700
commitc458f227b16aaf458bd67c4e8b9510d6be09f668 (patch)
tree07c7f61e56af23c38a6d454260934c7cbc460903 /usr/src/cmd/ypcmd
parent20d7339fc2243574629020a51f08d17b7393b931 (diff)
downloadillumos-joyent-c458f227b16aaf458bd67c4e8b9510d6be09f668.tar.gz
6203874 ypxfrd coredumps in x86 master/SPARC slave scenarios
Contributed by Juergen Keil <jk@tools.de>.
Diffstat (limited to 'usr/src/cmd/ypcmd')
-rw-r--r--usr/src/cmd/ypcmd/ypxfrd_server.c23
1 files changed, 14 insertions, 9 deletions
diff --git a/usr/src/cmd/ypcmd/ypxfrd_server.c b/usr/src/cmd/ypcmd/ypxfrd_server.c
index 24fbb2211e..7b9b05d641 100644
--- a/usr/src/cmd/ypcmd/ypxfrd_server.c
+++ b/usr/src/cmd/ypcmd/ypxfrd_server.c
@@ -20,9 +20,10 @@
* CDDL HEADER END
*/
/*
- * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
+/* Portions Copyright 2005 Juergen Keil */
#pragma ident "%Z%%M% %I% %E% SMI"
@@ -267,10 +268,12 @@ xdr_pages(XDR *xdrs, struct mycon *m)
res.status = mygetpage(res.pag_u.ok.blkdat, &(res.pag_u.ok.blkno), m);
#ifdef DOSWAB
- s = (short *)res.pag_u.ok.blkdat;
- cnt = s[0];
- for (i = 0; i <= cnt; i++)
- s[i] = ntohs(s[i]);
+ if (res.status == OK) {
+ s = (short *)res.pag_u.ok.blkdat;
+ cnt = s[0];
+ for (i = 0; i <= cnt; i++)
+ s[i] = ntohs(s[i]);
+ }
#endif
if (!xdr_pag(xdrs, &res))
@@ -283,10 +286,12 @@ xdr_pages(XDR *xdrs, struct mycon *m)
&(res.pag_u.ok.blkno), m);
#ifdef DOSWAB
- s = (short *)res.pag_u.ok.blkdat;
- cnt = s[0];
- for (i = 0; i <= cnt; i++)
- s[i] = ntohs(s[i]);
+ if (res.status == OK) {
+ s = (short *)res.pag_u.ok.blkdat;
+ cnt = s[0];
+ for (i = 0; i <= cnt; i++)
+ s[i] = ntohs(s[i]);
+ }
#endif
if (!xdr_pag(xdrs, &res))