Skip to content

Commit 9b16bd1

Browse files
committed
libvncclient: guard ARD SASL state check
1 parent ce1308c commit 9b16bd1

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

src/libvncclient/ardauth.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,12 @@ static rfbBool ReadLengthPrefixedBlob(rfbClient *client, uint8_t **outbuf,
141141
static rfbBool WriteLengthPrefixedBlob(rfbClient *client, const uint8_t *buf,
142142
size_t len, const char *what);
143143

144+
#ifdef LIBVNCSERVER_HAVE_SASL
145+
#define ARD_CLIENT_HAS_SASL_STATE(client) ((client)->saslconn != NULL)
146+
#else
147+
#define ARD_CLIENT_HAS_SASL_STATE(client) FALSE
148+
#endif
149+
144150
static rfbBool ConsumeRSASRPServerFinalIfPresent(rfbClient *client) {
145151
uint8_t hdr[4];
146152
uint32_t n = 0;
@@ -155,7 +161,7 @@ static rfbBool ConsumeRSASRPServerFinalIfPresent(rfbClient *client) {
155161
if (client->buffered >= sizeof(hdr)) {
156162
memcpy(hdr, client->bufoutptr, sizeof(hdr));
157163
} else {
158-
if (client->buffered > 0 || client->tlsSession || client->saslconn)
164+
if (client->buffered > 0 || client->tlsSession || ARD_CLIENT_HAS_SASL_STATE(client))
159165
return TRUE;
160166
r = recv(client->sock, (char *)hdr, sizeof(hdr), MSG_PEEK);
161167
if (r < (ssize_t)sizeof(hdr))

0 commit comments

Comments
 (0)