file: gcc2 patch update

This commit is contained in:
Jerome Duval
2021-05-16 21:53:00 +02:00
parent 58494ec2a1
commit ce94fe9958

View File

@@ -1,11 +1,11 @@
From 9dc5da6189526e5c6370893d8035eda541cc59aa Mon Sep 17 00:00:00 2001
From 9ca3459aa9a4d2fa59434aed51e9bc84de0a3db7 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Thu, 12 May 2016 19:46:43 +0000
Subject: Haiku patch
diff --git a/configure.ac b/configure.ac
index 64c9f42..ddccb86 100644
index 02eac8f..131a0da 100644
--- a/configure.ac
+++ b/configure.ac
@@ -152,14 +152,14 @@ else
@@ -26,7 +26,7 @@ index 64c9f42..ddccb86 100644
WARNINGS=
AC_MSG_RESULT(no)
diff --git a/src/der.c b/src/der.c
index 78a056b..6e74bff 100644
index 4bee9f1..c202ca4 100644
--- a/src/der.c
+++ b/src/der.c
@@ -236,6 +236,7 @@ static int
@@ -37,7 +37,7 @@ index 78a056b..6e74bff 100644
switch (tag) {
case DER_TAG_PRINTABLE_STRING:
case DER_TAG_UTF8_STRING:
@@ -252,7 +253,7 @@ der_data(char *buf, size_t blen, uint32_t tag, const void *q, uint32_t len)
@@ -251,7 +252,7 @@ der_data(char *buf, size_t blen, uint32_t tag, const void *q, uint32_t len)
break;
}
@@ -46,7 +46,7 @@ index 78a056b..6e74bff 100644
uint32_t z = i << 1;
if (z < blen - 2)
snprintf(buf + z, blen - z, "%.2x", d[i]);
@@ -265,6 +266,7 @@ der_offs(struct magic_set *ms, struct magic *m, size_t nbytes)
@@ -264,6 +265,7 @@ der_offs(struct magic_set *ms, struct magic *m, size_t nbytes)
{
const uint8_t *b = RCAST(const uint8_t *, ms->search.s);
size_t offs = 0, len = ms->search.s_len ? ms->search.s_len : nbytes;
@@ -54,7 +54,7 @@ index 78a056b..6e74bff 100644
if (gettag(b, &offs, len) == DER_BAD) {
DPRINTF(("%s: bad tag 1\n", __func__));
@@ -273,7 +275,7 @@ der_offs(struct magic_set *ms, struct magic *m, size_t nbytes)
@@ -272,7 +274,7 @@ der_offs(struct magic_set *ms, struct magic *m, size_t nbytes)
DPRINTF(("%s1: %d %" SIZE_T_FORMAT "u %u\n", __func__, ms->offset,
offs, m->offset));
@@ -63,7 +63,7 @@ index 78a056b..6e74bff 100644
if (tlen == DER_BAD) {
DPRINTF(("%s: bad tag 2\n", __func__));
return -1;
@@ -306,6 +308,7 @@ der_cmp(struct magic_set *ms, struct magic *m)
@@ -305,6 +307,7 @@ der_cmp(struct magic_set *ms, struct magic *m)
size_t offs = 0, len = ms->search.s_len;
uint32_t tag, tlen;
char buf[128];
@@ -71,7 +71,7 @@ index 78a056b..6e74bff 100644
DPRINTF(("%s: compare %zu bytes\n", __func__, len));
@@ -328,7 +331,7 @@ der_cmp(struct magic_set *ms, struct magic *m)
@@ -327,7 +330,7 @@ der_cmp(struct magic_set *ms, struct magic *m)
if ((ms->flags & MAGIC_DEBUG) != 0)
fprintf(stderr, "%s: tag %p got=%s exp=%s\n", __func__, b,
buf, s);
@@ -81,10 +81,10 @@ index 78a056b..6e74bff 100644
if (strncmp(buf, s, slen) != 0)
return 0;
diff --git a/src/funcs.c b/src/funcs.c
index 09b965e..f6a64ea 100644
index b926625..5a9462a 100644
--- a/src/funcs.c
+++ b/src/funcs.c
@@ -87,7 +87,8 @@ file_checkfield(char *msg, size_t mlen, const char *what, const char **pp)
@@ -90,7 +90,8 @@ file_checkfield(char *msg, size_t mlen, const char *what, const char **pp)
protected int
file_checkfmt(char *msg, size_t mlen, const char *fmt)
{
@@ -95,10 +95,10 @@ index 09b965e..f6a64ea 100644
continue;
if (*++p == '%')
diff --git a/src/readelf.c b/src/readelf.c
index cf1dc91..8039000 100644
index 0cd119a..87964d8 100644
--- a/src/readelf.c
+++ b/src/readelf.c
@@ -1005,6 +1005,7 @@ do_auxv_note(struct magic_set *ms, unsigned char *nbuf, uint32_t type,
@@ -1017,6 +1017,7 @@ do_auxv_note(struct magic_set *ms, unsigned char *nbuf, uint32_t type,
const char *tag;
int is_string;
size_t nval;
@@ -106,7 +106,7 @@ index cf1dc91..8039000 100644
if ((*flags & (FLAGS_IS_CORE|FLAGS_DID_CORE_STYLE)) !=
(FLAGS_IS_CORE|FLAGS_DID_CORE_STYLE))
@@ -1032,7 +1033,7 @@ do_auxv_note(struct magic_set *ms, unsigned char *nbuf, uint32_t type,
@@ -1044,7 +1045,7 @@ do_auxv_note(struct magic_set *ms, unsigned char *nbuf, uint32_t type,
*flags |= FLAGS_DID_AUXV;
nval = 0;
@@ -115,6 +115,22 @@ index cf1dc91..8039000 100644
memcpy(xauxv_addr, &nbuf[doff + off], xauxv_sizeof);
/* Limit processing to 50 vector entries to prevent DoS */
if (nval++ >= 50) {
@@ -1714,6 +1715,7 @@ dophn_exec(struct magic_set *ms, int clazz, int swap, int fd, off_t off,
if (doread) {
len = xph_filesz < sizeof(nbuf) ? xph_filesz
: sizeof(nbuf);
+{
off_t offs = xph_offset;
bufsize = pread(fd, nbuf, len, offs);
if (bufsize == -1) {
@@ -1723,6 +1725,7 @@ dophn_exec(struct magic_set *ms, int clazz, int swap, int fd, off_t off,
return -1;
return 0;
}
+}
} else
len = 0;
--
2.28.0
2.30.0