[Freemint-list] fVDI driver for Amiga + Vampire V2: SAGA.SYS

Markus Fröschle mfro999 at gmail.com
Mon Mar 20 10:32:13 MSK 2017


I just had a (very brief) look into sys/cnf.c (which does the MINT.CNF 
loading and parsing), especially in parser().

To me, it appears parser() would _always_ load the config file to an 
unaligned buffer:

it allocates b_len (which is the file's size, f_size, + 2) bytes with 
buf = kmalloc(b_len), but later on reads to

buf + b_len - f_size - 1 (this equals to buf + f_size + 2 - f_size - 1 
=> buf + 1)

which should be an odd address under all circumstances (provided 
kmalloc() returns an aligned address which I didn't check but strongly 
believe).

To my understanding, this is to allow the parser to have at least one 
character "headroom" since it basically "copies down" the read data by 
one character during parsing.


Am 18.03.2017 um 15:40 schrieb Vincent Rivière:

> I haven't investigated that on the FreeMiNT side yet.
> I only remember it occurred when loading MINT.CNF (but not always). So it
> occurs early, when the kernel is not fully installed.
>



More information about the Freemint-list mailing list