mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-07-27 07:57:27 +00:00
00de17fa46
Upstream-Status: Backport [https://gitlab.com/libssh/libssh-mirror/-/commit/533d881b0f4b24c72b35ecc97fa35d295d063e53 & https://gitlab.com/libssh/libssh-mirror/-/commit/2782cb0495b7450bd8fe43ce4af886b66fea6c40 & https://gitlab.com/libssh/libssh-mirror/-/commit/10b3ebbe61a7031a3dae97f05834442220447181 & https://gitlab.com/libssh/libssh-mirror/-/commit/245ad744b5ab0582fef7cf3905a717b791d7e08b] Signed-off-by: Vijay Anusuri <vanusuri@mvista.com> Signed-off-by: Armin Kuster <akuster808@gmail.com>
71 lines
1.9 KiB
Diff
71 lines
1.9 KiB
Diff
From 10b3ebbe61a7031a3dae97f05834442220447181 Mon Sep 17 00:00:00 2001
|
|
From: Andreas Schneider <asn@cryptomilk.org>
|
|
Date: Wed, 3 Jun 2020 10:10:11 +0200
|
|
Subject: [PATCH] buffer: Reformat ssh_buffer_add_data()
|
|
|
|
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
|
|
Reviewed-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com>
|
|
Reviewed-by: Jakub Jelen <jjelen@redhat.com>
|
|
|
|
Upstream-Status: Backport [https://gitlab.com/libssh/libssh-mirror/-/commit/10b3ebbe61a7031a3dae97f05834442220447181]
|
|
CVE: CVE-2020-16135
|
|
Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
|
|
---
|
|
src/buffer.c | 35 ++++++++++++++++++-----------------
|
|
1 file changed, 18 insertions(+), 17 deletions(-)
|
|
|
|
diff --git a/src/buffer.c b/src/buffer.c
|
|
index a2e6246af..476bc1358 100644
|
|
--- a/src/buffer.c
|
|
+++ b/src/buffer.c
|
|
@@ -299,28 +299,29 @@ int ssh_buffer_reinit(struct ssh_buffer_struct *buffer)
|
|
*/
|
|
int ssh_buffer_add_data(struct ssh_buffer_struct *buffer, const void *data, uint32_t len)
|
|
{
|
|
- buffer_verify(buffer);
|
|
+ buffer_verify(buffer);
|
|
|
|
- if (data == NULL) {
|
|
- return -1;
|
|
- }
|
|
+ if (data == NULL) {
|
|
+ return -1;
|
|
+ }
|
|
|
|
- if (buffer->used + len < len) {
|
|
- return -1;
|
|
- }
|
|
+ if (buffer->used + len < len) {
|
|
+ return -1;
|
|
+ }
|
|
|
|
- if (buffer->allocated < (buffer->used + len)) {
|
|
- if(buffer->pos > 0)
|
|
- buffer_shift(buffer);
|
|
- if (realloc_buffer(buffer, buffer->used + len) < 0) {
|
|
- return -1;
|
|
+ if (buffer->allocated < (buffer->used + len)) {
|
|
+ if (buffer->pos > 0) {
|
|
+ buffer_shift(buffer);
|
|
+ }
|
|
+ if (realloc_buffer(buffer, buffer->used + len) < 0) {
|
|
+ return -1;
|
|
+ }
|
|
}
|
|
- }
|
|
|
|
- memcpy(buffer->data+buffer->used, data, len);
|
|
- buffer->used+=len;
|
|
- buffer_verify(buffer);
|
|
- return 0;
|
|
+ memcpy(buffer->data + buffer->used, data, len);
|
|
+ buffer->used += len;
|
|
+ buffer_verify(buffer);
|
|
+ return 0;
|
|
}
|
|
|
|
/**
|
|
--
|
|
GitLab
|
|
|