FreeDOS/kernel
Eric Auer 26f116a217 More secure FAT handling: Avoids risk of cross links for example if
you reboot while files are open... Reported by Hardi Stengelin :-).

Always test *link_fat* result. New function is_free_cluster.  Extra
checks in *link_fat* (bad r/w offset, i/o, write) and *next_cluster*
(dangling chain: bad value in chain) with short messages (no msg for
bad chain start). Shorter "Bad DPB" (FAT size) msg.  More comments!

Update FS INFO on disk only when needed.  Check if chain EOF was at
expected place when extending.  Call *link_fat* before! *setdstart*
when a FAT chain grows.   [Q: Does 0 byte write always trunc? Why?]


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1358 6ac86273-5f31-0410-b378-82cca8765d1b
2008-03-08 20:31:37 +00:00
..
nls Marked these files as binary, as they are exactly that. 2001-04-25 00:56:03 +00:00
apisupt.asm Use HMA_TEXT instead of _TEXT again. 2003-03-12 22:43:53 +00:00
asmsupt.asm merge in some changes from UNSTABLE, batch files no change just line ending issue 2004-09-12 04:46:28 +00:00
blockio.c Start reducing the number of network redirector functions in int2f.asm. 2004-04-20 18:43:03 +00:00
break.c Had to change ctrl-c/ctrl-break handling again... 2004-04-14 15:40:51 +00:00
chario.c Fix problem with redirected input and int21/ah=0a (debug < foo.txt) -- 2004-05-23 22:53:11 +00:00
config.c Init HaltCpuWhileIdle to 0 before installing int handlers. 2007-08-17 19:33:24 +00:00
config.h Document the fact the MSCL8 compiled kernels don't work. 2004-04-13 11:54:09 +00:00
console.asm Use int29 for kernel console output. Enables ansi escape sequences in config.sys once you load nansi.sys. It also saves a couple of bytes. 2004-05-23 22:04:42 +00:00
dosfns.c Removed "Dutch plurals" ("Dutch plural's" ;-)) from the source code: 2007-07-20 20:52:33 +00:00
dosidle.asm New config.sys (config.c, config.txt) options: IDLEHALT=n to activate 2007-07-21 03:37:53 +00:00
dosnames.c Remove wrong automatic "*.*" code from Lixing Yuan -- return DE_PATHNOTFND 2004-03-17 22:04:40 +00:00
dsk.c Removed "Dutch plurals" ("Dutch plural's" ;-)) from the source code: 2007-07-20 20:52:33 +00:00
dyndata.h Ran all .c and .h files through "indent" 2001-11-18 14:01:12 +00:00
dyninit.c Removed "Dutch plurals" ("Dutch plural's" ;-)) from the source code: 2007-07-20 20:52:33 +00:00
entry.asm Really fix the 8086 issue! 2007-06-17 21:23:12 +00:00
error.c Set the Critical Error number immediately after calling a device driver. 2003-09-24 19:34:11 +00:00
execrh.asm removed the "protect 386 registers" patch again, a fixed version of free- 2006-05-20 20:49:59 +00:00
fatdir.c Fix problem with an old game that calls findfirst with attribute 77a8: 2007-05-21 02:17:44 +00:00
fatfs.c More secure FAT handling: Avoids risk of cross links for example if 2008-03-08 20:31:37 +00:00
fattab.c More secure FAT handling: Avoids risk of cross links for example if 2008-03-08 20:31:37 +00:00
fcbfns.c Fix bug 1953: 21h/29h returns 0 (valid) for all drive root names up to 2007-06-04 16:35:53 +00:00
globals.h Add ASM to HaltCpuWhileIdle declarations for compatibility with Turbo C. 2007-08-27 11:41:13 +00:00
init-dat.h introduce lol structure for list of lists; avoid lots of relocations 2003-06-15 15:53:58 +00:00
init-mod.h Add ASM to HaltCpuWhileIdle declarations for compatibility with Turbo C. 2007-08-27 11:41:13 +00:00
initclk.c Initclk changes (mainly by Lucho) 2003-09-09 17:33:23 +00:00
initdisk.c Removed "Dutch plurals" ("Dutch plural's" ;-)) from the source code: 2007-07-20 20:52:33 +00:00
inithma.c Fix problem with #ifdef DEBUG HMA check. Use more descriptive name 2004-05-24 17:07:04 +00:00
initoem.c Extra check for EBDA move: ramsize == peek(0, RAMSIZE) by Tom Ehlert 2007-05-21 02:16:36 +00:00
int2f.asm New config.sys (config.c, config.txt) options: IDLEHALT=n to activate 2007-07-21 03:37:53 +00:00
inthndlr.c Mktemp (21.5a) only inserts leading backslash in temp file name 2007-07-28 19:03:40 +00:00
intr.asm Arkady changed/optimized allocmem() 2004-05-23 20:01:30 +00:00
io.asm high-part-of register save fixes from Lucho. 2004-05-30 19:31:07 +00:00
io.inc Changes for kernel 2028 (see history.txt) 2002-12-09 00:17:15 +00:00
ioctl.c Ioctl optimization using a command table, present both in Tom's and the 2007-05-15 04:12:53 +00:00
iprf.c Added new build system files, sys documentation, "rm" batch file 2001-11-13 23:45:25 +00:00
irqstack.asm Reinstated _IRQTEXT, now with corrected segment loads in irqstack.asm. 2007-07-23 11:23:11 +00:00
kernel.asm Removed "Dutch plurals" ("Dutch plural's" ;-)) from the source code: 2007-07-20 20:52:33 +00:00
kernel.cfg LBA/FCB/FAT/SYS/Ctrl-C/ioctl fixes + memory savings 2001-07-09 22:19:33 +00:00
lfnapi.c Make f_diroff an entry offset so it can be 16bits. Enforce the 65536 2004-03-22 10:29:26 +00:00
ludivmul.inc Preserving di in ludivmul.inc: fixes problem with the modulo when 2004-07-24 23:56:32 +00:00
main.c Init HaltCpuWhileIdle to 0 before installing int handlers. 2007-08-17 19:33:24 +00:00
makefile Let exeflat call UPX itself like in the unstable branch. Simplifies makefile. 2007-08-29 08:49:02 +00:00
memmgr.c Removed "Dutch plurals" ("Dutch plural's" ;-)) from the source code: 2007-07-20 20:52:33 +00:00
misc.c Remove (unused) strncpy. 2003-08-09 09:35:18 +00:00
network.c Reduced number of global int2f/11 entries into int2f.asm to one. 2004-04-21 17:40:12 +00:00
newstuff.c The truename function must use the current working directory of 2007-09-15 22:01:03 +00:00
nls_hc.asm Changes for kernel 2028 (see history.txt) 2002-12-09 00:17:15 +00:00
nls_load.c NLS changes from Steffen 2003-06-27 22:02:57 +00:00
nls.c Fix builds with Turbo C. 2007-05-26 21:57:11 +00:00
nlssupt.asm high-part-of register save fixes from Lucho. 2004-05-30 19:31:07 +00:00
prf.c Use int29 for kernel console output. Enables ansi escape sequences in config.sys once you load nansi.sys. It also saves a couple of bytes. 2004-05-23 22:04:42 +00:00
printer.asm Removed "Dutch plurals" ("Dutch plural's" ;-)) from the source code: 2007-07-20 20:52:33 +00:00
procsupt.asm From Lucho: enable interactive re-execution of the SHELL. 2004-03-07 12:19:43 +00:00
proto.h More secure FAT handling: Avoids risk of cross links for example if 2008-03-08 20:31:37 +00:00
segs.inc Reinstated _IRQTEXT, now with corrected segment loads in irqstack.asm. 2007-07-23 11:23:11 +00:00
serial.asm Serial code fixes from the FD1.0 kernel. 2006-10-31 21:01:38 +00:00
strings.c Remove (unused) strncpy. 2003-08-09 09:35:18 +00:00
sysclk.c (suggestion from Arkady) 2003-09-09 17:32:20 +00:00
syspack.c Changes for kernel 2028 (see history.txt) 2002-12-09 00:17:15 +00:00
systime.c (with a little help from Arkady) 2003-09-09 17:43:43 +00:00
task.c Do not ABORT if image size is above 1 MB - Instead, handle size 2007-08-25 02:37:59 +00:00
turboc.cfg Use PASCAL calling convention by default for turbo C 2003-06-30 18:36:30 +00:00