summaryrefslogtreecommitdiffstats
path: root/external/redland/raptor/ubsan.patch
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
commited5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch)
tree7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /external/redland/raptor/ubsan.patch
parentInitial commit. (diff)
downloadlibreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.tar.xz
libreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.zip
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'external/redland/raptor/ubsan.patch')
-rw-r--r--external/redland/raptor/ubsan.patch25
1 files changed, 25 insertions, 0 deletions
diff --git a/external/redland/raptor/ubsan.patch b/external/redland/raptor/ubsan.patch
new file mode 100644
index 000000000..641d60bb7
--- /dev/null
+++ b/external/redland/raptor/ubsan.patch
@@ -0,0 +1,25 @@
+--- src/raptor_rfc2396.c
++++ src/raptor_rfc2396.c
+@@ -386,7 +386,7 @@
+ }
+
+
+- if(prev && s == (cur+2) && cur[0] == '.' && cur[1] == '.') {
++ if(prev && cur && s == (cur+2) && cur[0] == '.' && cur[1] == '.') {
+ /* Remove <component>/.. at the end of the path */
+ *prev = '\0';
+ path_len -= (s-prev);
+--- src/raptor_uri.c
++++ src/raptor_uri.c
+@@ -1336,9 +1336,9 @@
+ !strncmp((const char*)base_detail->scheme,
+ (const char*)reference_detail->scheme,
+ base_detail->scheme_len) &&
+- !strncmp((const char*)base_detail->authority,
++ (base_detail->authority_len == 0 || !strncmp((const char*)base_detail->authority,
+ (const char*)reference_detail->authority,
+- base_detail->authority_len)) {
++ base_detail->authority_len))) {
+
+ if(!base_detail->path) {
+ if(reference_detail->path) {