Add SA-14:15.iconv, SA-14:16.file, EN-14:07.pmap and EN-14:08.heimdal.
This commit is contained in:
parent
b56869daf4
commit
bbd3497201
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=45118
16 changed files with 3066 additions and 2 deletions
175
share/security/patches/SA-14:15/iconv.patch
Normal file
175
share/security/patches/SA-14:15/iconv.patch
Normal file
|
|
@ -0,0 +1,175 @@
|
|||
Index: lib/libc/iconv/citrus_prop.c
|
||||
===================================================================
|
||||
--- lib/libc/iconv/citrus_prop.c (revision 267591)
|
||||
+++ lib/libc/iconv/citrus_prop.c (working copy)
|
||||
@@ -339,7 +339,7 @@ name_found:
|
||||
|
||||
static int
|
||||
_citrus_prop_parse_element(struct _memstream * __restrict ms,
|
||||
- const _citrus_prop_hint_t * __restrict hints, void ** __restrict context)
|
||||
+ const _citrus_prop_hint_t * __restrict hints, void * __restrict context)
|
||||
{
|
||||
int ch, errnum;
|
||||
#define _CITRUS_PROP_HINT_NAME_LEN_MAX 255
|
||||
@@ -435,8 +435,7 @@ _citrus_prop_parse_variable(const _citrus_prop_hin
|
||||
if (ch == EOF || ch == '\0')
|
||||
break;
|
||||
_memstream_ungetc(&ms, ch);
|
||||
- errnum = _citrus_prop_parse_element(
|
||||
- &ms, hints, (void ** __restrict)context);
|
||||
+ errnum = _citrus_prop_parse_element(&ms, hints, context);
|
||||
if (errnum != 0)
|
||||
return (errnum);
|
||||
}
|
||||
Index: lib/libc/iconv/citrus_prop.h
|
||||
===================================================================
|
||||
--- lib/libc/iconv/citrus_prop.h (revision 267591)
|
||||
+++ lib/libc/iconv/citrus_prop.h (working copy)
|
||||
@@ -42,7 +42,7 @@ typedef struct _citrus_prop_hint_t _citrus_prop_hi
|
||||
|
||||
#define _CITRUS_PROP_CB0_T(_func_, _type_) \
|
||||
typedef int (*_citrus_prop_##_func_##_cb_func_t) \
|
||||
- (void ** __restrict, const char *, _type_); \
|
||||
+ (void * __restrict, const char *, _type_); \
|
||||
typedef struct { \
|
||||
_citrus_prop_##_func_##_cb_func_t func; \
|
||||
} _citrus_prop_##_func_##_cb_t;
|
||||
@@ -52,7 +52,7 @@ _CITRUS_PROP_CB0_T(str, const char *)
|
||||
|
||||
#define _CITRUS_PROP_CB1_T(_func_, _type_) \
|
||||
typedef int (*_citrus_prop_##_func_##_cb_func_t) \
|
||||
- (void ** __restrict, const char *, _type_, _type_); \
|
||||
+ (void * __restrict, const char *, _type_, _type_); \
|
||||
typedef struct { \
|
||||
_citrus_prop_##_func_##_cb_func_t func; \
|
||||
} _citrus_prop_##_func_##_cb_t;
|
||||
Index: lib/libiconv_modules/BIG5/citrus_big5.c
|
||||
===================================================================
|
||||
--- lib/libiconv_modules/BIG5/citrus_big5.c (revision 267591)
|
||||
+++ lib/libiconv_modules/BIG5/citrus_big5.c (working copy)
|
||||
@@ -170,7 +170,7 @@ _citrus_BIG5_check_excludes(_BIG5EncodingInfo *ei,
|
||||
}
|
||||
|
||||
static int
|
||||
-_citrus_BIG5_fill_rowcol(void ** __restrict ctx, const char * __restrict s,
|
||||
+_citrus_BIG5_fill_rowcol(void * __restrict ctx, const char * __restrict s,
|
||||
uint64_t start, uint64_t end)
|
||||
{
|
||||
_BIG5EncodingInfo *ei;
|
||||
@@ -189,7 +189,7 @@ static int
|
||||
|
||||
static int
|
||||
/*ARGSUSED*/
|
||||
-_citrus_BIG5_fill_excludes(void ** __restrict ctx,
|
||||
+_citrus_BIG5_fill_excludes(void * __restrict ctx,
|
||||
const char * __restrict s __unused, uint64_t start, uint64_t end)
|
||||
{
|
||||
_BIG5EncodingInfo *ei;
|
||||
@@ -235,7 +235,6 @@ static int
|
||||
_citrus_BIG5_encoding_module_init(_BIG5EncodingInfo * __restrict ei,
|
||||
const void * __restrict var, size_t lenvar)
|
||||
{
|
||||
- void *ctx = (void *)ei;
|
||||
const char *s;
|
||||
int err;
|
||||
|
||||
@@ -257,9 +256,9 @@ _citrus_BIG5_encoding_module_init(_BIG5EncodingInf
|
||||
}
|
||||
|
||||
/* fallback Big5-1984, for backward compatibility. */
|
||||
- _citrus_BIG5_fill_rowcol((void **)&ctx, "row", 0xA1, 0xFE);
|
||||
- _citrus_BIG5_fill_rowcol((void **)&ctx, "col", 0x40, 0x7E);
|
||||
- _citrus_BIG5_fill_rowcol((void **)&ctx, "col", 0xA1, 0xFE);
|
||||
+ _citrus_BIG5_fill_rowcol(ei, "row", 0xA1, 0xFE);
|
||||
+ _citrus_BIG5_fill_rowcol(ei, "col", 0x40, 0x7E);
|
||||
+ _citrus_BIG5_fill_rowcol(ei, "col", 0xA1, 0xFE);
|
||||
|
||||
return (0);
|
||||
}
|
||||
Index: lib/libiconv_modules/HZ/citrus_hz.c
|
||||
===================================================================
|
||||
--- lib/libiconv_modules/HZ/citrus_hz.c (revision 267591)
|
||||
+++ lib/libiconv_modules/HZ/citrus_hz.c (working copy)
|
||||
@@ -65,8 +65,8 @@ typedef enum {
|
||||
} charset_t;
|
||||
|
||||
typedef struct {
|
||||
+ int start;
|
||||
int end;
|
||||
- int start;
|
||||
int width;
|
||||
} range_t;
|
||||
|
||||
@@ -503,12 +503,12 @@ _citrus_HZ_encoding_module_uninit(_HZEncodingInfo
|
||||
}
|
||||
|
||||
static int
|
||||
-_citrus_HZ_parse_char(void **context, const char *name __unused, const char *s)
|
||||
+_citrus_HZ_parse_char(void *context, const char *name __unused, const char *s)
|
||||
{
|
||||
escape_t *escape;
|
||||
void **p;
|
||||
|
||||
- p = (void **)*context;
|
||||
+ p = (void **)context;
|
||||
escape = (escape_t *)p[0];
|
||||
if (escape->ch != '\0')
|
||||
return (EINVAL);
|
||||
@@ -520,7 +520,7 @@ static int
|
||||
}
|
||||
|
||||
static int
|
||||
-_citrus_HZ_parse_graphic(void **context, const char *name, const char *s)
|
||||
+_citrus_HZ_parse_graphic(void *context, const char *name, const char *s)
|
||||
{
|
||||
_HZEncodingInfo *ei;
|
||||
escape_t *escape;
|
||||
@@ -527,7 +527,7 @@ static int
|
||||
graphic_t *graphic;
|
||||
void **p;
|
||||
|
||||
- p = (void **)*context;
|
||||
+ p = (void **)context;
|
||||
escape = (escape_t *)p[0];
|
||||
ei = (_HZEncodingInfo *)p[1];
|
||||
graphic = malloc(sizeof(*graphic));
|
||||
@@ -589,13 +589,13 @@ _CITRUS_PROP_HINT_END
|
||||
};
|
||||
|
||||
static int
|
||||
-_citrus_HZ_parse_escape(void **context, const char *name, const char *s)
|
||||
+_citrus_HZ_parse_escape(void *context, const char *name, const char *s)
|
||||
{
|
||||
_HZEncodingInfo *ei;
|
||||
escape_t *escape;
|
||||
void *p[2];
|
||||
|
||||
- ei = (_HZEncodingInfo *)*context;
|
||||
+ ei = (_HZEncodingInfo *)context;
|
||||
escape = malloc(sizeof(*escape));
|
||||
if (escape == NULL)
|
||||
return (EINVAL);
|
||||
Index: lib/libiconv_modules/VIQR/citrus_viqr.c
|
||||
===================================================================
|
||||
--- lib/libiconv_modules/VIQR/citrus_viqr.c (revision 267591)
|
||||
+++ lib/libiconv_modules/VIQR/citrus_viqr.c (working copy)
|
||||
@@ -431,7 +431,6 @@ static int
|
||||
_citrus_VIQR_encoding_module_init(_VIQREncodingInfo * __restrict ei,
|
||||
const void * __restrict var __unused, size_t lenvar __unused)
|
||||
{
|
||||
- const mnemonic_def_t *p;
|
||||
const char *s;
|
||||
size_t i, n;
|
||||
int errnum;
|
||||
@@ -455,7 +454,10 @@ _citrus_VIQR_encoding_module_init(_VIQREncodingInf
|
||||
return (errnum);
|
||||
}
|
||||
}
|
||||
- for (i = 0;; ++i) {
|
||||
+ /* a + 1 < b + 1 here to silence gcc warning about unsigned < 0. */
|
||||
+ for (i = 0; i + 1 < mnemonic_ext_size + 1; ++i) {
|
||||
+ const mnemonic_def_t *p;
|
||||
+
|
||||
p = &mnemonic_ext[i];
|
||||
n = strlen(p->name);
|
||||
if (ei->mb_cur_max < n)
|
||||
17
share/security/patches/SA-14:15/iconv.patch.asc
Normal file
17
share/security/patches/SA-14:15/iconv.patch.asc
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v2
|
||||
|
||||
iQIcBAABCgAGBQJTqc+xAAoJEO1n7NZdz2rnGpkP/0rm6huVPDIo3qTvfuXyKVvX
|
||||
MGbc8+35EfDSUxAYLkQIJxiEF88+chJrEqyivP311+IMFUXdyplQvXQiZcTKXdPp
|
||||
hYVa7wCeC7BbdXILiw+hi9J5TI4QiE+b4Kmn83DIS/iYols4tRpUVXN4OCFaO3BR
|
||||
oW5RuCI/VBVqwUm+3pZhz1GuzPOmZo+8KxdHk3nmSmoad6SNvPB0W3QY53P2J96E
|
||||
8euOJGM/38QWav2g7QsQeI+MAx2jcxUmRIQVfCblfXG1O0izNjuC8hjqJptSvBpc
|
||||
uvJAhQxptludfAa7/ZnW4ws/dJz4ekNSlerjRpNiXE0Hr2r2TAM8cFwG9AbVThga
|
||||
wZ8+rHFOC30kIJ6uvZbpTPHNSHxu4pVyOOoh4Tfr1xpDqb/3ktSXfXX6bgXPrhMI
|
||||
PdBVVACYGbdurQU8Z65JbMmNx96Sl79w8mOHrMSeVS3pRL7FtJ4J+c8sOLyiaouM
|
||||
kIf+vbqSPHRqpkCtmmKP6QM+qrfhrlzmYwyNTE2pKautaGNCyAMY3lrKhbEr7llK
|
||||
L4YZ9/9Z6ivZZZDhAZbzcJrWQOuW0wmt7E2CyC1TOHOBjI6202J/++ZWSmmsexWF
|
||||
mWNai/3IqCGd24unHHxdrTUSw+b99pL+HAgAdTQZ2dg3Qh/qC0PAcICBoWDgS0sM
|
||||
Q34JUXT4cVpCqHeFhPkp
|
||||
=gJzF
|
||||
-----END PGP SIGNATURE-----
|
||||
Loading…
Add table
Add a link
Reference in a new issue