diff options
| author | sdussud <none@none> | 2005-07-07 05:51:31 -0700 |
|---|---|---|
| committer | sdussud <none@none> | 2005-07-07 05:51:31 -0700 |
| commit | c458f227b16aaf458bd67c4e8b9510d6be09f668 (patch) | |
| tree | 07c7f61e56af23c38a6d454260934c7cbc460903 /usr/src/cmd/ypcmd | |
| parent | 20d7339fc2243574629020a51f08d17b7393b931 (diff) | |
| download | illumos-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.c | 23 |
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)) |
