File xrdp-cve-2020-4044-fix-1.patch of Package xrdp.27289
From 7384f6e574c348dc4a753ac9245ff25a6014fbe7 Mon Sep 17 00:00:00 2001
From: matt335672 <30179339+matt335672@users.noreply.github.com>
Date: Mon, 29 Jun 2020 11:22:13 +0100
Subject: [PATCH] Fixed CVE-2020-4044 CI errors
---
sesman/libscp/libscp_v0.c | 12 ++++++------
sesman/libscp/libscp_v1s.c | 6 +++---
sesman/libscp/libscp_v1s_mng.c | 2 +-
3 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/sesman/libscp/libscp_v0.c b/sesman/libscp/libscp_v0.c
index 55168b4f5..90bf921e9 100644
--- a/sesman/libscp/libscp_v0.c
+++ b/sesman/libscp/libscp_v0.c
@@ -99,7 +99,7 @@ enum SCP_CLIENT_STATES_E
scp_v0c_connect(struct SCP_CONNECTION *c, struct SCP_SESSION *s)
{
tui32 version;
- tui32 size;
+ int size;
tui16 sz;
init_stream(c->in_s, c->in_s->size);
@@ -187,8 +187,8 @@ scp_v0c_connect(struct SCP_CONNECTION *c, struct SCP_SESSION *s)
if (size < (8 + 2 + 2 + 2) || size > SCP_MAX_MESSAGE_SIZE)
{
log_message(LOG_LEVEL_WARNING,
- "[v0:%d] connection aborted: msg size = %u",
- __LINE__, (unsigned int)size);
+ "[v0:%d] connection aborted: msg size = %d",
+ __LINE__, size);
return SCP_CLIENT_STATE_SIZE_ERR;
}
@@ -240,7 +240,7 @@ scp_v0c_connect(struct SCP_CONNECTION *c, struct SCP_SESSION *s)
static enum SCP_SERVER_STATES_E
scp_v0s_init_session(struct SCP_CONNECTION *c, struct SCP_SESSION *session)
{
- tui32 size;
+ int size;
tui16 height;
tui16 width;
tui16 bpp;
@@ -254,8 +254,8 @@ scp_v0s_init_session(struct SCP_CONNECTION *c, struct SCP_SESSION *session)
if (size < (8 + 2) || size > SCP_MAX_MESSAGE_SIZE)
{
log_message(LOG_LEVEL_WARNING,
- "[v0:%d] connection aborted: msg size = %u",
- __LINE__, (unsigned int)size);
+ "[v0:%d] connection aborted: msg size = %d",
+ __LINE__, size);
return SCP_SERVER_STATE_SIZE_ERR;
}
diff --git a/sesman/libscp/libscp_v1s.c b/sesman/libscp/libscp_v1s.c
index 37e8a01c4..7aab200df 100644
--- a/sesman/libscp/libscp_v1s.c
+++ b/sesman/libscp/libscp_v1s.c
@@ -218,7 +218,7 @@ enum SCP_SERVER_STATES_E scp_v1s_accept(struct SCP_CONNECTION *c, struct SCP_SES
enum SCP_SERVER_STATES_E result;
struct SCP_SESSION *session;
tui32 version;
- tui32 size;
+ int size;
tui16 cmdset;
tui16 cmd;
@@ -354,7 +354,7 @@ scp_v1s_request_password(struct SCP_CONNECTION *c, struct SCP_SESSION *s,
const char *reason)
{
tui32 version;
- tui32 size;
+ int size;
tui16 cmdset;
tui16 cmd;
int rlen;
@@ -539,7 +539,7 @@ enum SCP_SERVER_STATES_E
scp_v1s_list_sessions(struct SCP_CONNECTION *c, int sescnt, struct SCP_DISCONNECTED_SESSION *ds, SCP_SID *sid)
{
tui32 version = 1;
- tui32 size = 12;
+ int size = 12;
tui16 cmd = 40;
int pktcnt;
int idx;
diff --git a/sesman/libscp/libscp_v1s_mng.c b/sesman/libscp/libscp_v1s_mng.c
index 8e9aed12b..28c8290f8 100644
--- a/sesman/libscp/libscp_v1s_mng.c
+++ b/sesman/libscp/libscp_v1s_mng.c
@@ -381,7 +381,7 @@ static enum SCP_SERVER_STATES_E
_scp_v1s_mng_check_response(struct SCP_CONNECTION *c, struct SCP_SESSION *s)
{
tui32 version;
- tui32 size;
+ int size;
tui16 cmd;
// tui8 dim;
// char buf[257];