Compare commits
No commits in common. 'c9' and 'c8' have entirely different histories.
@ -1 +1 @@
|
|||||||
SOURCES/libICE-1.0.10.tar.bz2
|
SOURCES/libICE-1.0.9.tar.bz2
|
||||||
|
@ -1 +1 @@
|
|||||||
5b5eb125d4f43a3ab8153b0f850963ee6c982c24 SOURCES/libICE-1.0.10.tar.bz2
|
3c3a857a117ce48a1947a16860056e77cd494fdf SOURCES/libICE-1.0.9.tar.bz2
|
||||||
|
@ -0,0 +1,28 @@
|
|||||||
|
From 6fed0334c99d3c088752b462d106a84266fb1114 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Olivier Fourdan <ofourdan@redhat.com>
|
||||||
|
Date: Wed, 10 Apr 2019 11:01:31 +0200
|
||||||
|
Subject: [PATCH libICE 1/3] IceListenForWellKnownConnections: Fix memleak
|
||||||
|
|
||||||
|
The function `_IceTransMakeAllCOTSServerListeners` allocates memory for
|
||||||
|
`transConns` which is leaked in case of error.
|
||||||
|
|
||||||
|
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
|
||||||
|
---
|
||||||
|
src/listenwk.c | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/src/listenwk.c b/src/listenwk.c
|
||||||
|
index 7517ea8..9ff26da 100644
|
||||||
|
--- a/src/listenwk.c
|
||||||
|
+++ b/src/listenwk.c
|
||||||
|
@@ -61,6 +61,7 @@ IceListenForWellKnownConnections (
|
||||||
|
strncpy (errorStringRet,
|
||||||
|
"Cannot establish any listening sockets", errorLength);
|
||||||
|
|
||||||
|
+ free (transConns);
|
||||||
|
return (0);
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.21.0
|
||||||
|
|
@ -0,0 +1,75 @@
|
|||||||
|
From 6a92ea98544e0d03d4ce0563ad765ae21773b0fd Mon Sep 17 00:00:00 2001
|
||||||
|
From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
||||||
|
Date: Tue, 25 Apr 2017 11:00:36 +0200
|
||||||
|
Subject: [PATCH libICE 2/2] Add getentropy emulation through syscall
|
||||||
|
|
||||||
|
RHEL/f24/f25 only patch
|
||||||
|
|
||||||
|
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
||||||
|
---
|
||||||
|
src/iceauth.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
|
1 file changed, 49 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/iceauth.c b/src/iceauth.c
|
||||||
|
index 9b77eac..9af62f5 100644
|
||||||
|
--- a/src/iceauth.c
|
||||||
|
+++ b/src/iceauth.c
|
||||||
|
@@ -78,6 +78,55 @@ emulate_getrandom_buf (
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+#ifndef HAVE_GETENTROPY
|
||||||
|
+#include <sys/syscall.h>
|
||||||
|
+#include <errno.h>
|
||||||
|
+
|
||||||
|
+/* code taken from libressl, license: */
|
||||||
|
+/*
|
||||||
|
+ * Copyright (c) 2014 Theo de Raadt <deraadt@openbsd.org>
|
||||||
|
+ * Copyright (c) 2014 Bob Beck <beck@obtuse.com>
|
||||||
|
+ *
|
||||||
|
+ * Permission to use, copy, modify, and distribute this software for any
|
||||||
|
+ * purpose with or without fee is hereby granted, provided that the above
|
||||||
|
+ * copyright notice and this permission notice appear in all copies.
|
||||||
|
+ *
|
||||||
|
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||||
|
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||||
|
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||||
|
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||||
|
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||||
|
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
|
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
+ *
|
||||||
|
+ * Emulation of getentropy(2) as documented at:
|
||||||
|
+ * http://man.openbsd.org/getentropy.2
|
||||||
|
+ */
|
||||||
|
+#ifdef __NR_getrandom
|
||||||
|
+static int
|
||||||
|
+getentropy(void *buf, size_t len)
|
||||||
|
+{
|
||||||
|
+ int pre_errno = errno;
|
||||||
|
+ int ret;
|
||||||
|
+ if (len > 256)
|
||||||
|
+ return (-1);
|
||||||
|
+ do {
|
||||||
|
+ ret = syscall(__NR_getrandom, buf, len, 0);
|
||||||
|
+ } while (ret == -1 && errno == EINTR);
|
||||||
|
+
|
||||||
|
+ if (ret != len)
|
||||||
|
+ return (-1);
|
||||||
|
+ errno = pre_errno;
|
||||||
|
+
|
||||||
|
+ fprintf(stderr, "generating cookie with syscall\n");
|
||||||
|
+
|
||||||
|
+ return (0);
|
||||||
|
+}
|
||||||
|
+#define HAVE_GETENTROPY 1
|
||||||
|
+#endif /* __NR_getrandom */
|
||||||
|
+
|
||||||
|
+#endif /* HAVE_GETENTROPY */
|
||||||
|
+
|
||||||
|
static void
|
||||||
|
arc4random_buf (
|
||||||
|
char *auth,
|
||||||
|
--
|
||||||
|
2.9.3
|
||||||
|
|
@ -0,0 +1,31 @@
|
|||||||
|
From 32a9acc48463931e598188e3277c88925a48d7b5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Olivier Fourdan <ofourdan@redhat.com>
|
||||||
|
Date: Wed, 10 Apr 2019 11:15:11 +0200
|
||||||
|
Subject: [PATCH libICE 2/3] _IceRead: Avoid possible use-after-free
|
||||||
|
|
||||||
|
`_IceRead()` gets called from multiple places which do not expect the
|
||||||
|
connection to be freed.
|
||||||
|
|
||||||
|
Do not free the connection data in `_IceRead()` to avoid potential
|
||||||
|
use-after-free issue in the various callers.
|
||||||
|
|
||||||
|
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
|
||||||
|
---
|
||||||
|
src/misc.c | 1 -
|
||||||
|
1 file changed, 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/misc.c b/src/misc.c
|
||||||
|
index d2e9150..54b179d 100644
|
||||||
|
--- a/src/misc.c
|
||||||
|
+++ b/src/misc.c
|
||||||
|
@@ -242,7 +242,6 @@ _IceRead (
|
||||||
|
*/
|
||||||
|
|
||||||
|
_IceConnectionClosed (iceConn); /* invoke watch procs */
|
||||||
|
- _IceFreeConnection (iceConn);
|
||||||
|
|
||||||
|
return (0);
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.21.0
|
||||||
|
|
@ -0,0 +1,42 @@
|
|||||||
|
From c4fcd360d060d50673a4a35ed39c4fe7e4bc3561 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Olivier Fourdan <ofourdan@redhat.com>
|
||||||
|
Date: Thu, 11 Apr 2019 09:05:15 +0200
|
||||||
|
Subject: [PATCH libICE 3/3] cleanup: Separate variable assignment and test
|
||||||
|
|
||||||
|
Assigning and testing a value in a single statement hinders code clarity
|
||||||
|
and may confuses static code analyzers.
|
||||||
|
|
||||||
|
Separate the assignment and the test for clarity.
|
||||||
|
|
||||||
|
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
|
||||||
|
---
|
||||||
|
src/process.c | 6 ++++--
|
||||||
|
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/process.c b/src/process.c
|
||||||
|
index f0c3369..e3e0a35 100644
|
||||||
|
--- a/src/process.c
|
||||||
|
+++ b/src/process.c
|
||||||
|
@@ -919,7 +919,8 @@ ProcessConnectionSetup (
|
||||||
|
EXTRACT_STRING (pData, swap, vendor);
|
||||||
|
EXTRACT_STRING (pData, swap, release);
|
||||||
|
|
||||||
|
- if ((hisAuthCount = message->authCount) > 0)
|
||||||
|
+ hisAuthCount = message->authCount;
|
||||||
|
+ if (hisAuthCount > 0)
|
||||||
|
{
|
||||||
|
hisAuthNames = malloc (hisAuthCount * sizeof (char *));
|
||||||
|
EXTRACT_LISTOF_STRING (pData, swap, hisAuthCount, hisAuthNames);
|
||||||
|
@@ -1965,7 +1966,8 @@ ProcessProtocolSetup (
|
||||||
|
EXTRACT_STRING (pData, swap, vendor);
|
||||||
|
EXTRACT_STRING (pData, swap, release);
|
||||||
|
|
||||||
|
- if ((hisAuthCount = message->authCount) > 0)
|
||||||
|
+ hisAuthCount = message->authCount;
|
||||||
|
+ if (hisAuthCount > 0)
|
||||||
|
{
|
||||||
|
hisAuthNames = malloc (hisAuthCount * sizeof (char *));
|
||||||
|
EXTRACT_LISTOF_STRING (pData, swap, hisAuthCount, hisAuthNames);
|
||||||
|
--
|
||||||
|
2.21.0
|
||||||
|
|
Loading…
Reference in new issue