diff options
| -rw-r--r-- | gssapi.c | 4 | 
1 files changed, 4 insertions, 0 deletions
| @@ -120,6 +120,8 @@ int do_gssauth(int sock, char *command, char *hostname, char *username)  	        return result;  	    }  	    request_buf.length = from64tobits(buf2, buf1 + 2, sizeof(buf2)); +	    if (request_buf.length == -1)	/* in case of bad data */ +		request_buf.length = 0  	    request_buf.value = buf2;  	    sec_token = &request_buf;          } @@ -132,6 +134,8 @@ int do_gssauth(int sock, char *command, char *hostname, char *username)          return result;      request_buf.length = from64tobits(buf2, buf1 + 2, sizeof(buf2)); +    if (request_buf.length == -1)	/* in case of bad data */ +	request_buf.length = 0      request_buf.value = buf2;      maj_stat = gss_unwrap(&min_stat, context,  | 
