patches for easier mirroring, to eliminate a special copy, to make www.freebsd.org/security a full copy of security.freebsd.org and be eventually be the same. For now files are just sitting there. The symlinks are missing. Discussed on: www (repository location) Discussed with: simon (so)
30 lines
990 B
Diff
30 lines
990 B
Diff
Index: sys/i386/i386/sys_machdep.c
|
|
===================================================================
|
|
RCS file: /home/ncvs/src/sys/i386/i386/sys_machdep.c,v
|
|
retrieving revision 1.100
|
|
diff -u -p -r1.100 sys_machdep.c
|
|
--- sys/i386/i386/sys_machdep.c 19 Apr 2005 13:52:27 -0000 1.100
|
|
+++ sys/i386/i386/sys_machdep.c 4 May 2005 00:39:36 -0000
|
|
@@ -476,10 +476,6 @@ i386_get_ldt(td, uap)
|
|
uap->start, uap->num, (void *)uap->descs);
|
|
#endif
|
|
|
|
- /* verify range of LDTs exist */
|
|
- if ((uap->start < 0) || (uap->num <= 0))
|
|
- return(EINVAL);
|
|
-
|
|
if (pldt) {
|
|
nldt = pldt->ldt_len;
|
|
num = min(uap->num, nldt);
|
|
@@ -489,7 +485,10 @@ i386_get_ldt(td, uap)
|
|
num = min(uap->num, nldt);
|
|
lp = &ldt[uap->start];
|
|
}
|
|
- if (uap->start + num > nldt)
|
|
+
|
|
+ if ((uap->start > (unsigned int)nldt) ||
|
|
+ ((unsigned int)num > (unsigned int)nldt) ||
|
|
+ ((unsigned int)(uap->start + num) > (unsigned int)nldt))
|
|
return(EINVAL);
|
|
|
|
error = copyout(lp, uap->descs, num * sizeof(union descriptor));
|