diff options
author | Nathan Straz <nstraz@redhat.com> | 2009-03-27 13:11:37 -0400 |
---|---|---|
committer | Nathan Straz <nstraz@redhat.com> | 2009-03-27 13:11:37 -0400 |
commit | d2f139aa9fd6dc4f9476d0a53f482f34c2a380ef (patch) | |
tree | 53efa02e8a37ff51de939456850efedf1858130f | |
parent | 84c28731c129daedc11bb55e287e23c06ef3f59a (diff) | |
download | qarsh-d2f139aa9fd6dc4f9476d0a53f482f34c2a380ef.tar.gz qarsh-d2f139aa9fd6dc4f9476d0a53f482f34c2a380ef.tar.xz qarsh-d2f139aa9fd6dc4f9476d0a53f482f34c2a380ef.zip |
[qarsh] Handle a very broken qarshd
If qarshd is broken enough that it can't load libxml2.so, it
won't return an XML packet which we can parse. set_remote_user()
really needs to error out of we didn't get a packet back.
-rw-r--r-- | qarsh.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -160,7 +160,11 @@ set_remote_user(char *user, char *group) send_packet(qarsh_fd, qp); qpfree(qp); qp = recv_packet(qarsh_fd); - if (qp && qp->qp_type == QP_RETURNCODE + if (!qp) { + fprintf(stderr, "Failed to receive response to set user\n"); + close(qarsh_fd); + exit(125); + } else if (qp->qp_type == QP_RETURNCODE && qp->qp_returncode.qp_rc == -1) { fprintf(stderr, "Remote side failed, %s\n", |