diff --git a/lib/krb5/read_message.c b/lib/krb5/read_message.c index 8062b0e1f..d0973bfbc 100644 --- a/lib/krb5/read_message.c +++ b/lib/krb5/read_message.c @@ -52,12 +52,16 @@ krb5_read_message (krb5_context context, krb5_clear_error_string (context); return ret; } - if(ret < 4) + if(ret < 4) { + krb5_clear_error_string(context); return HEIM_ERR_EOF; + } len = (buf[0] << 24) | (buf[1] << 16) | (buf[2] << 8) | buf[3]; ret = krb5_data_alloc (data, len); - if (ret) + if (ret) { + krb5_clear_error_string(context); return ret; + } if (krb5_net_read (context, p_fd, data->data, len) != len) { ret = errno; krb5_data_free (data);