Document EN-16:19.tzcode, EN-16:20.tzdata, EN-16:21.localedef;

SA-16:36.telnetd, SA-16:37.libc, SA-16:38.bhyve;
This commit is contained in:
Gleb Smirnoff 2016-12-06 19:15:01 +00:00
parent dcae915099
commit cf7400e34a
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=49711
30 changed files with 65620 additions and 0 deletions

View file

@ -0,0 +1,70 @@
--- contrib/tzcode/zic/zdump.c.orig
+++ contrib/tzcode/zic/zdump.c
@@ -212,24 +212,16 @@
return;
cp = abbrp;
wp = NULL;
- while (isascii((unsigned char) *cp) && isalpha((unsigned char) *cp))
+ while (isascii((unsigned char) *cp) &&
+ (isalnum((unsigned char)*cp) || *cp == '-' || *cp == '+'))
++cp;
- if (cp - abbrp == 0)
- wp = _("lacks alphabetic at start");
- else if (cp - abbrp < 3)
- wp = _("has fewer than 3 alphabetics");
+ if (cp - abbrp < 3)
+ wp = _("has fewer than 3 characters");
else if (cp - abbrp > 6)
- wp = _("has more than 6 alphabetics");
- if (wp == NULL && (*cp == '+' || *cp == '-')) {
- ++cp;
- if (isascii((unsigned char) *cp) &&
- isdigit((unsigned char) *cp))
- if (*cp++ == '1' && *cp >= '0' && *cp <= '4')
- ++cp;
- if (*cp != '\0')
- wp = _("differs from POSIX standard");
- }
- if (wp == NULL)
+ wp = _("has more than 6 characters");
+ else if (*cp)
+ wp = "has characters other than ASCII alphanumerics, '-' or '+'";
+ else
return;
(void) fflush(stdout);
(void) fprintf(stderr,
--- contrib/tzcode/zic/zic.c.orig
+++ contrib/tzcode/zic/zic.c
@@ -2615,29 +2615,15 @@
register const char * cp;
register char * wp;
- /*
- ** Want one to ZIC_MAX_ABBR_LEN_WO_WARN alphabetics
- ** optionally followed by a + or - and a number from 1 to 14.
- */
cp = string;
wp = NULL;
while (isascii((unsigned char) *cp) &&
- isalpha((unsigned char) *cp))
+ (isalnum((unsigned char)*cp) || *cp == '-' || *cp == '+'))
++cp;
- if (cp - string == 0)
-wp = _("time zone abbreviation lacks alphabetic at start");
if (noise && cp - string > 3)
-wp = _("time zone abbreviation has more than 3 alphabetics");
+wp = _("time zone abbreviation has more than 3 characters");
if (cp - string > ZIC_MAX_ABBR_LEN_WO_WARN)
-wp = _("time zone abbreviation has too many alphabetics");
- if (wp == NULL && (*cp == '+' || *cp == '-')) {
- ++cp;
- if (isascii((unsigned char) *cp) &&
- isdigit((unsigned char) *cp))
- if (*cp++ == '1' &&
- *cp >= '0' && *cp <= '4')
- ++cp;
- }
+wp = _("time zone abbreviation has too many characters");
if (*cp != '\0')
wp = _("time zone abbreviation differs from POSIX standard");
if (wp != NULL) {

View file

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIcBAABCgAGBQJYRw1pAAoJEO1n7NZdz2rn52EP/itjGSb9xqDAmCNvcNxFgPvJ
fBZ+bBre8eh908lmMbnLJvXRmz/wTxljqmt+6dHwsoAPDo+FGLudZyWTrA2dqTZm
fPu8GBTtFlynmwAqXjNePTk+Z4EcqkY1ZwyNuJuOVtnsOpqTb9gTRDlNyrVwcz19
IlUUJuylCC7hf7v51nheVXY799EywUYznKqPfsfTp0qRxQfwvi1dku1nbCc/dR+/
qjLhFzl58yjiprpnWxUsU+SJKie2svsM9UEg62aZgs7ZWXZ2RP7QP4rSrwJSf5x1
6NI7PUM17HqQK1peG8pwwoeeKjP7r1kbFY5udGHY/KWrtLg/0U2erENScUvv8RkJ
8Dl8FMdWUpoWd3/Xs/W82b0r0sEVDS65JPZJNYy2iMegZUHji6+y1i4UUywhXtoj
5GU0p1voD8g+6JmP90NC7w2mg7UgYvBovW9osKH5s01CntG+XmWoQLwCCHWJwK9G
Uan949xMT5VoaUn9UyXhLQ9xAD5mUTkNRy8JFbUjblBR6Rrk1mdHdhZq6I3pQ/3i
QSsH44cyrVLCZ3j0AeITPZDtvN8Iw34D8yM0uTenRXWTRdzQEEFBoxwl7QBGD3I6
Og9lZJ5J53GCx37vyMmyb+FHaMjZnWFBMUDnrNfK0eImlEXjSH797Iz7JAlDEv2e
jSrQ0ZFzbbUgMN9f1xxj
=DGoh
-----END PGP SIGNATURE-----

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIcBAABCgAGBQJYRw1qAAoJEO1n7NZdz2rnhg4QAJQe6cfJHpcCUhAyhyAnYgU8
Oqi67i8fw+kKfkP8mRxLrMdtUXSokR+pAWmHjl+vNLm3cUYyeu1DL1GrcOxGNfcb
CbyNcABUM5B4q7i+ql/HAavjOYi1G9IzibRCS4Zk6En5aork/V2PovtUdVyz+gwk
APzJ42Ff703hg/KsNnbrrgPx7Bqu5OHoK6rtHLPAgh5M/TnX1BmseSLCIjWQNnKO
iPYKHsIBTfG3NlvaAohzWnd6j/n61IsAy748BrDMchOR9WZRB3QNTeAiuvEBczku
qBKG0wwKac3z8BnsoBWGd0snkCa1367sNHBUL1+xiVjKEQF/mVToHcuROSi+ddcz
Mxjt+hf/C0IWFppzStVHP9xl8toE5ZhmpQcHhvkdKRRvBUOuRZHsCuS7HmLxIl9V
0g1qKOfQPqx3L6j/rQBmY4PbkLIkaXt9NuvJbyVGtug02/ZMqI92Tzpnj/Eht3QJ
afGrnIkj4IBLZ/l438ua/ohkiZD9jfboys9z57XJPe+ktPkBiIX3OIbHSypehkDG
1HE+KNtuaVqd1bvRYw5hPAK9oAVzaYtgJtP2wDmol92DuIsWu4ZgXWbSEAhasxYy
ersY42kFnSTe22lw5QQyVy9bw99YwRccvxHAOjph/ox8XvNQkn4Lj7zqhujLhJbd
J5V+rqKKn7f+rc6b5zhc
=X0Hm
-----END PGP SIGNATURE-----

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIcBAABCgAGBQJYRw1rAAoJEO1n7NZdz2rngakQAOIT07earAHkhoiIEiU+x9Ai
rAV41bYSIxfBZ8X5Sp3g1/TC7HrMWzM68ar9Uqm9iM5nDWWBTxwXZYwcFSvVUrF0
T4SVztyiksyzQQmypreaSY1msPIk/aIr1YVtGsyvPv0KbvvldFGQEWAUrcLykCaG
LUamzrzMXWrFpZwN/TLnykIPXhRrrV1O+l8xBH7qm4JWp8PkoeFe6xtCuj1E+ZZg
+h24AMxoaDD6/fDXHZ+ht8MuY3/zz39oVCc6vFxAg0iCbO/MOy0Rwq8Uh0raSPE6
aSWQGEQB8jrml24WAc6nozL6j9dyv5uKUr0mKCc9x00ZW2Ml4WNw4BIZ4FSJXJGU
nMnIK/5aS5SJ5+JuBeoqwh0Qim6Z6SRz+gLsrA45pa2tY3mMjKn21WFpKyFlug9S
bDqgeapTv4Cau38NPATGScSn3qzxeW9tSQ//Njj4XTD5sYhH1a0+VEUooo8bGvt0
ANtOmeJXqH7vJmA/JA7V5rfEZts75eKDPWBg4DgW4KX8N0spkgHkCphfwF8ZEgTM
0UkEpxRhWAeZ/DECr5MNdJ1g+koxk5Ijj0mc4TiRftGYL3ttIo+Q1YfWaLTGUazD
/8fE0SCu417DC/MwQeLMge7nfQC0sW4NOTDjYpxgi39O/UJkKwn4WX/qyT2/RmdW
5iPHnGay+FX6w0vSuMwU
=CtTo
-----END PGP SIGNATURE-----

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIcBAABCgAGBQJYRw1rAAoJEO1n7NZdz2rnaioQALum72PK209dPIUB9BkXDrjG
SImE+wglkK9noM97NzFF4oQfHmXNaVI/ILOEM3aT7Kcqc7ls6h2n41lsVSu8aFZt
ydtu0NC7Y55FKIss2JpbQyHAaSiXIVEr2bnBMFjYIvLe4ABnHYRvlUr653A3wYm2
/dvsnxBF0mwcymBT7F2p4+koGpPDgeQ8CcABGinDS+QtquLmR2mnpq4CrDmtROvd
52oBg5vLvgamsGEsIoAjygr5/MkWjPo4Xv/tiABxSSwHRHg81rf0Zf+7OdR24DYE
qJnIEyMCjLPM/NPxL0yckyvArQAQLqyZTFxyzuLJXOIw7U9kY3vmu7phbXajifl1
aJuYnH8jQFKcmaFbNKP7Pf1+vYNaa90ult3SI9HtuPRmR36T+bFs9kiYmbzd3UyM
vtdOnaeQFt0DH2dE5EEfXOW6/jux6QG2CU4DXFbOjLyMoHW0b1lsnql0u/zjsvWX
PAz2TmXWCYY3+4r2qIEi4r9AJyoNDIp1IPmG+LFz22gg8BZncaHV7f/DHQkRzDHb
KlUMTCVV3+lhIWh2rfgpEEPNQjkn8F38rd924Nq8x1w0n+k+SbLc0TdYWhpkwf5+
vYWDgPKXlTbBtdA3FvksHMcnHARhjDKDqYXfVc6hR2Pn6cdap+4UAWg6+Zc/g6hf
MrxKZtJElQl2ITBT6Rzp
=D16j
-----END PGP SIGNATURE-----

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIcBAABCgAGBQJYRw1sAAoJEO1n7NZdz2rndsAQAL+3rzd73YkJJ0m/SzLGVDy5
pt2f94JVigBt3808UVzDpwlUeqQCBl5SWfjz1zCFIRS84NCypTZIiRudEpsIQgQa
OW39WVM4Iv4GQRAOAHuGP8xzgZJUewjVSrEQp56hQ0CbGbn4S/ckJf4ak+XcR+Mg
IfIdL2EnlFOjDSZeh+217anBGX6ztTzApx0++FGux4Sgrgby0AffrDc9HUK7pzIo
b8dXN/UuNbnRXFhjcmqY+vy4KiiQgCTDeIdngsKtV+DKLpmMM7PGwlW2mBUT/EfU
6JyVaJiZPjj2fNqB1ezVXncmebupLCr25ZoelNxqTpWbzuEjxzpI3wD/wLT1U0n/
xxWU4ySbJUgIWSYvcoZk6hNUheUEoutqHKi7QuOa1j6FF5+2Gi9jQgNCuK/jbjai
hxS3e+yvXOFY9dt8NZRP8Rv+m4DIUV1Mcf13KINC3c5lofGuINfc06q51Ly2C9S2
dmxB35sNXEDV4q6kWgUr/cALHaYoQgqBfB4Lta8mxWAR3ROCsIhDqVM6rlzU+cvP
Jr8mXEg8gkz8C6C2THjYQkieZwJ2X5sYr5t1sNtB4I40neo9StqYnYGNu3RgJPK2
d1ui0NH0gaIMIAsMcZTHbmxTZKeSjvbhk4g2elWwTZ6H7819Sm4yBJ8OPEbfvkqH
LDN/7yH0l0YZrBEJBOUu
=bpne
-----END PGP SIGNATURE-----

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIcBAABCgAGBQJYRw1sAAoJEO1n7NZdz2rnen0QAKWZS5ORCqx9YkmgNXb97kA5
GoHXOFgvKZapLY2fUNgZj45nnrnuH2Xjx/A72KrtRhWdQhxX0SEKLq/oBrgEuSNO
aN/8iZcblP4U0SRsdvpemDmZlNOTD1V+aCIgw/4fqB+lekH1gTY4eb2Ag+oCUy7C
ImTzRpq8rktXZDH8thNnVcTdMN5Vc6qewqwCMx1SxG5FsSLFXoVG0QykStl6bXql
43ub1DGchiEEqDQMW75KwxFcMOMlMVQzMKQG6kH12bfpaWu576ZZVCXHQv2oVAIt
auNd8cV0mlB7xgE/0BDfWoChSIxN8etAS05k75ib7de26PRc+wXYCCS7EqK28Xtq
vpuRPQr3VhoJ2nfrlPBiZCzw8DSmk0gu7HDawrz+/B2VmsTuNK2DpPE/vFb5bfyM
6J9uvEaPMr3o21dR0/+lFst2xZI+GJtMMPsS1GWDOxVsKXyD/oau0hQJrkB/V5i8
ekbQTySUaguP1Hd/Z+R5lT2d3X8xtYN7C/taFrtBGHTQ0cojCeoFKBHBRBttzTFk
Ptl5r5B7vueeYygFMvTJBGCUV5oVh8SmR9mqHUfqdT1yFULfqa/5ZbgUypsgcdET
FnEds9bDpElLsc2mBEBHGLPoG1y/sy4yQhPz+J0Cu/6pLpQnu9A59CHjsPf9BBiV
tlA2MUnU3mPXzt2T7bjS
=XU0U
-----END PGP SIGNATURE-----

View file

@ -0,0 +1,78 @@
--- contrib/netbsd-tests/lib/libc/locale/t_mbstowcs.c.orig
+++ contrib/netbsd-tests/lib/libc/locale/t_mbstowcs.c
@@ -88,7 +88,7 @@
0xFFFF, 0x5D, 0x5B, 0x10000, 0x10FFFF, 0x5D, 0x0A
},
#ifdef __FreeBSD__
- { 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1,
+ { 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, -1,
#else
{ 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1,
#endif
--- usr.bin/localedef/ctype.c.orig
+++ usr.bin/localedef/ctype.c
@@ -407,9 +407,9 @@
continue;
}
- if ((last_ct != NULL) && (last_ct->ctype == ctn->ctype)) {
+ if ((last_ct != NULL) && (last_ct->ctype == ctn->ctype) &&
+ (last_ct->wc + 1 == wc)) {
ct[rl.runetype_ext_nranges-1].max = wc;
- last_ct = ctn;
} else {
rl.runetype_ext_nranges++;
ct = realloc(ct,
@@ -417,8 +417,8 @@
ct[rl.runetype_ext_nranges - 1].min = wc;
ct[rl.runetype_ext_nranges - 1].max = wc;
ct[rl.runetype_ext_nranges - 1].map = ctn->ctype;
- last_ct = ctn;
}
+ last_ct = ctn;
if (ctn->tolower == 0) {
last_lo = NULL;
} else if ((last_lo != NULL) &&
--- usr.bin/localedef/parser.y.orig
+++ usr.bin/localedef/parser.y
@@ -27,6 +27,8 @@
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
+ *
+ * $FreeBSD$
*/
/*
@@ -321,22 +323,19 @@
| T_TOLOWER conv_list T_NL
;
+cc_list : cc_list T_SEMI cc_range_end
+ | cc_list T_SEMI cc_char
+ | cc_char
+ ;
-cc_list : cc_list T_SEMI T_CHAR
+cc_range_end : T_ELLIPSIS T_SEMI T_CHAR
{
- add_ctype($3);
+ add_ctype_range($3);
}
- | cc_list T_SEMI T_SYMBOL
+ ;
+
+cc_char : T_CHAR
{
- add_charmap_undefined($3);
- }
- | cc_list T_SEMI T_ELLIPSIS T_SEMI T_CHAR
- {
- /* note that the endpoints *must* be characters */
- add_ctype_range($5);
- }
- | T_CHAR
- {
add_ctype($1);
}
| T_SYMBOL

View file

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIcBAABCgAGBQJYRw1tAAoJEO1n7NZdz2rn64MQAIvo/c5zlJN213CfGtBL2PeC
ZO6O0pC7c4mFA/C2TR2WKWMjFtwlkCxlln6wq54T0m4s/O1pYeKFiXNIeNzkjs9G
MfRwbFr3bsacfVoYpREFODYerxkN6zL31LB37oL+jKZApvoUz1aQh1gqsshQWBx6
chaSfbWDIltA3gyDm8ONiifCebeqgCyvk6L8blVZOCD6HNC706GUiTnLYaIytWFX
jXT7x6vlYjVF6xfPQCAVpLG/OwkFYlqbr6NfIXSr0zcVzIYdq0r/6oYSLG/DYZNZ
LsItycwHSWP7inFOwV6Xuluv9KdfFMf6YjMempxk21Gq0qqTYkzemI0CuCjYWegA
ffSiCIJP3KwMvtznS65bYivYo0KJT3B4GFAf1DkKYPCZWYoiEd3Hmx9rOr3Z0ZFW
vmt0KphhfUlWvPnoqAWy71ihf4hjxf4SBxMX2RuUNSGNq6+4StfUuiqYHJYtX8Nv
G7b37D9T6b5xqYJ46bQC2OA65bOmr41/vYGxmq3mm/GxpGf/NfSpMn45tp0lpG/v
cPV8d5VVxqiZDscPmDThqRwbnZ9YP0nsMiQN3RtFa23gJanC1mWMnLwVLVpXyIR/
KgbHrOQ0kFQSsSYLngkLwyhab6Oz4cLepUDxlWoTOdjL/Esr1CzZz7jap4egjPMI
Hih/OXbF4dLE5cXgbAq+
=Cle8
-----END PGP SIGNATURE-----

View file

@ -0,0 +1,26 @@
--- contrib/telnet/telnetd/sys_term.c.orig
+++ contrib/telnet/telnetd/sys_term.c
@@ -1159,7 +1159,7 @@
*/
argv = (char **)malloc(sizeof(*argv) * 12);
if (argv == NULL)
- return(NULL);
+ fatal(net, "failure allocating argument space");
*argv++ = (char *)10;
*argv = (char *)0;
}
@@ -1170,11 +1170,12 @@
*argv = (char *)((long)(*argv) + 10);
argv = (char **)realloc(argv, sizeof(*argv)*((long)(*argv) + 2));
if (argv == NULL)
- return(NULL);
+ fatal(net, "failure allocating argument space");
argv++;
cpp = &argv[(long)argv[-1] - 10];
}
- *cpp++ = strdup(val);
+ if ((*cpp++ = strdup(val)) == NULL)
+ fatal(net, "failure allocating argument space");
*cpp = 0;
return(argv);
}

View file

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIcBAABCgAGBQJYRw1uAAoJEO1n7NZdz2rn22kP/RhWrm5MQlipB7qojG+NdeFo
KI+FFAPCFvDvqj1r+zXOlhwuBrI+E09PlbeUg1qkG2G4BO67Mu7WkzwQ4GtK6Pis
pDI8mrkfZKEigy2GRUHHuYhWoY5V7bEAl5PL4X1gIifJsuXFKoyb/9JF6O8OXjZQ
dE8pGkAtdXmlBF2dfjsDXxCpLXuJpBU7os0DlOmQ/0y6Xxj7CauLU1CLpBURsE/Q
KlONRPWmneEzFdaQHyIKB/l2tEAOY6vndDMFy7M7sM0N5KIwmZEHNgkhDu6waen8
jiF6XxXBDeEk6YvI2cyG1Y1mR3RokrfuVr/MzKfwnM7Mxd/9VIKnMFIjEHQaFg79
GRt5Qg6sqVzpqmeIdhxQaHzwNAI4ytUuNGuGGst+vTYH3UTzSe4EC0RRzZpQALS7
K4wIHqn676v8gEr6FlZmerjwoKFMV1KZw8O1OzIDWjtK4OyEZCR1ozGYlOT3IqhF
NC6xtK4enhQRTkb8YRUnXsgDceO2T5SARiVadSPqQGOYe1469qD9BjquTGG9xRcE
KPU11VEzRBUrI6D0Bf5GH+WvTkxVKnTxit7Vo4i0MqkbhziVgFKshKVzTskyqnxz
zMUNHh/hWRC9+0v1afVlvtjt+8SucRgy085+x9LHHv7k5xgF1Q36iAucSQLM6R6e
OnLF+t0NpquvI9+vhvKl
=pzU/
-----END PGP SIGNATURE-----

View file

@ -0,0 +1,75 @@
--- lib/libc/net/linkaddr.c.orig
+++ lib/libc/net/linkaddr.c
@@ -35,6 +35,7 @@
#include <sys/types.h>
#include <sys/socket.h>
+#include <net/if.h>
#include <net/if_dl.h>
#include <string.h>
@@ -122,31 +123,47 @@
link_ntoa(const struct sockaddr_dl *sdl)
{
static char obuf[64];
- char *out = obuf;
- int i;
- u_char *in = (u_char *)LLADDR(sdl);
- u_char *inlim = in + sdl->sdl_alen;
- int firsttime = 1;
+ _Static_assert(sizeof(obuf) >= IFNAMSIZ + 20, "obuf is too small");
+ char *out;
+ const char *in, *inlim;
+ int namelen, i, rem;
- if (sdl->sdl_nlen) {
- bcopy(sdl->sdl_data, obuf, sdl->sdl_nlen);
- out += sdl->sdl_nlen;
- if (sdl->sdl_alen)
+ namelen = (sdl->sdl_nlen <= IFNAMSIZ) ? sdl->sdl_nlen : IFNAMSIZ;
+
+ out = obuf;
+ rem = sizeof(obuf);
+ if (namelen > 0) {
+ bcopy(sdl->sdl_data, out, namelen);
+ out += namelen;
+ rem -= namelen;
+ if (sdl->sdl_alen > 0) {
*out++ = ':';
+ rem--;
+ }
}
- while (in < inlim) {
- if (firsttime)
- firsttime = 0;
- else
+
+ in = (const char *)sdl->sdl_data + sdl->sdl_nlen;
+ inlim = in + sdl->sdl_alen;
+
+ while (in < inlim && rem > 1) {
+ if (in != (const char *)sdl->sdl_data + sdl->sdl_nlen) {
*out++ = '.';
+ rem--;
+ }
i = *in++;
if (i > 0xf) {
- out[1] = hexlist[i & 0xf];
+ if (rem < 3)
+ break;
+ *out++ = hexlist[i & 0xf];
i >>= 4;
- out[0] = hexlist[i];
- out += 2;
- } else
*out++ = hexlist[i];
+ rem -= 2;
+ } else {
+ if (rem < 2)
+ break;
+ *out++ = hexlist[i];
+ rem++;
+ }
}
*out = 0;
return (obuf);

View file

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIcBAABCgAGBQJYRw1vAAoJEO1n7NZdz2rnH2QP/jQF/xtjDHJoEKk3h6DGZUC4
GM27jneyYt/SWbGVHchYhD6y+67304OeUCZ7N6aEUI3cVgoZObDuVNoNrtfBnSPB
gTtAOUQchlF0ZP/TKZSrONz6Pz+1R/N9QryJSDYr3KUsLDuU6I2nob7kR+Iwxn1V
pX8MakPMSOUH8tHHpXlQySN8rjobtiCdvulDyi0IX92Ajdq7fqLlu2oiHsMYdtfW
hzWahmHJZUFe0CqLc+78vGB5WTsIXcwSfrkq5MVy8hDlbtmFrgyXcReEBnXSw+kC
Y751w+W674Cck/60inzA3is7Iy84/yE0fGuBmFWPhOatTbVqI6dG+gK0CqlzW8g7
M9ven4K9S9vO52oMSlQJi1VGx66r1P4+7RpiqIC6GFpBZ4ItEYvD4/SP3y75eIGD
LRSzV+LHJarwNslznAFWxg0rWoHbOhH2x0XT2Ve7rXXm4jzIMTL6LSczYlppQ6d2
DBfyFHykY4iA0VbSBJYXueQrDHc4njJnr4Kl1ZSOZq9HhUbwVcVM0Wse+ZZJ7veQ
Xe83iqX6+bbRM8GFLtSw/mJa1h+TMW6N8T/qQXdokYCpVASLDnwfLinqkeC1mh+H
Wr5kf9pbrBTLcnR/LRnVDZ9ySN6AaZdbLea+7RnPZ46MyQIG14yIvJMPk1LnQB9L
dO+RStwsKHuz2O37ENqi
=lrl6
-----END PGP SIGNATURE-----

View file

@ -0,0 +1,19 @@
--- lib/libvmmapi/vmmapi.c.orig
+++ lib/libvmmapi/vmmapi.c
@@ -263,12 +263,14 @@
/* XXX VM_MMAP_SPARSE not implemented yet */
assert(ctx->vms == VM_MMAP_ALL);
- if (gaddr < ctx->lowmem && gaddr + len <= ctx->lowmem)
+ if (gaddr < ctx->lowmem && len <= ctx->lowmem &&
+ gaddr + len <= ctx->lowmem)
return ((void *)(ctx->lowmem_addr + gaddr));
if (gaddr >= 4*GB) {
gaddr -= 4*GB;
- if (gaddr < ctx->highmem && gaddr + len <= ctx->highmem)
+ if (gaddr < ctx->highmem && len <= ctx->highmem &&
+ gaddr + len <= ctx->highmem)
return ((void *)(ctx->highmem_addr + gaddr));
}

View file

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIcBAABCgAGBQJYRw1wAAoJEO1n7NZdz2rnd+kP+wYnUY3tGokDR46N0MbjmkdY
X8bedjtyUPzQdIW2gexICCLzMrxkN9a4yVEmOOHwTKmtoaFtjXNbn82T8ge1Pf10
cX4qZg48WYOF4Ei188ZaD9xbnyabuBC5oxAMz4zkTVPlu5FuDI9kP1XyVvzA/8hA
Q3d1106bxMrkJ/kvqyXy+tt8Rfmp5WG+D0D7zSQc4lREs+l5D49e5d1UFI0TrX1Y
PTumDnzLZMfH6DO4rzMXRy+yohkGb8D5AW9IHbBVDaeLEeLnkzpHiiMcth3cg5LS
2Nw+sDmAOaHJ4ea/B820T01mRpd3s8M1gfQz9bAoEd+wVuIBse2hBvaQMrXGJ5G3
bsJtark4yi8rHg2mQ+z7hgkl1yJ/owIVVo0PvenuzFeRiKf93vxX8nFJvl2zdzDt
hJWwzNTxg9zPsyWI4VnRqBQIw1ZUhNLwt1Y8buMwVUMv7n0nsqQ/tpKIG1KnFTl5
no4agfA23+DksTPeZ/OuLTEq/lxRIzEdlAaSlSb6jp3RASHcGfYuf+A9+N2tyGT0
4rhjvo9juHLsoqDXfMewKBLgyKJFfzMPDQ0Ykun7yrQKWoGG+9o1ZNvMVTMjQn9u
ZdFMc5WHZAQPlYjB55ldTfeQ4ZX2yBaUTT+WREl2P4zsURM0DV6c7KbQB+XWQzIc
cWECaLYiir4QRwA+atBZ
=qWsA
-----END PGP SIGNATURE-----

View file

@ -0,0 +1,24 @@
--- lib/libvmmapi/vmmapi.c.orig
+++ lib/libvmmapi/vmmapi.c
@@ -426,13 +426,18 @@
{
if (ctx->lowmem > 0) {
- if (gaddr < ctx->lowmem && gaddr + len <= ctx->lowmem)
+ if (gaddr < ctx->lowmem && len <= ctx->lowmem &&
+ gaddr + len <= ctx->lowmem)
return (ctx->baseaddr + gaddr);
}
if (ctx->highmem > 0) {
- if (gaddr >= 4*GB && gaddr + len <= 4*GB + ctx->highmem)
- return (ctx->baseaddr + gaddr);
+ if (gaddr >= 4*GB) {
+ if (gaddr < 4*GB + ctx->highmem &&
+ len <= ctx->highmem &&
+ gaddr + len <= 4*GB + ctx->highmem)
+ return (ctx->baseaddr + gaddr);
+ }
}
return (NULL);

View file

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIcBAABCgAGBQJYRw1xAAoJEO1n7NZdz2rnBkgQAJWvZDz/GCdcuqp7jUfLvhKR
/TZaPIe4v702RnoHEsR0pQqNx6wrXSswieiY8VIVE0IIyR6bMO1JgUE7HbSG2m/0
uI6sgnlTmPKTpKipHmS+lHk/1Rr/bTIAUagyO5XFeq5LinHWdkvKpAgbk0WAFdR4
0fzOMtyTyW+3+wRAKNG15aoZkscjU4gcEQzS1yVZWEoHQBHIV39sRteqr4/AT2vY
3wiIjVuW5OwWFqRfX5vamwe/BK3ps07P+OaylnedyScgmI11csCbB6AOxDhlz5/r
vkLzByMvSwZB7V4EEIvVMmTO57LRaUE5iJ7YNNFyh+4lVHbE+otetAgrf9KE4VIz
d3DyGELIrAdxUNTx1A/Isog3MAMayxcItNu1kJZz93VxlWJVmrGFufwQigPwNQEd
R+FeQNGDXYZBDSnl3k16ImL1QW0WLtQqCzSLE+y0Xna3HHUJcddunwLs5duDkaUT
bHbPL8irN5FBY1WAPWmeusFO0GM1zaWjqYhVCyJLkv+H6aS+4nBIFF2hAmKXyzAc
+PK+rOl2G0HGs09ALKR8DgfzIbeGbB3mvknhUBmX527t6RrA3rWR4gZEwrvCYe4I
q9lbvvPVoC/xJi3Lsa8xliuo1f7YazEgDNmzkzFjWJQinJKQn4ow3XSiXXqarUm2
CSrOQJY+0UF23sJScppo
=nJXA
-----END PGP SIGNATURE-----