[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MiNT] System call bindings



Xavier Joubert wrote:

Hello,


Selon Olivier Landemarre <olivier.landemarre@utbm.fr>:
It could looks something like this if I understand:
if (p->domain == DOM_TOS) copy8_3 (dta->dta_pat, slash);
....
if (p->domain == DOM_TOS) strncpy (dta->dta_name, slash, TOS_NAMELEN-1);
else strncpy (dta->dta_name, slash, PATH_MAX-1);

You must also adjust DTA structure so it could store PATH_MAX chars.

But this means that any program working in MiNT domain and compiled with an old
osbind.h may crash, since strncpy(..., PATH_MAX-1) may corrupt memory area
below DTA.


Probably no trouble with this because a program compil with Pdomain(1) will not access to the filesystem with Fsfirst() Fsnext() but with Opendir. In the past with old Mint if you put Pdomain(1) without correcting DTA it crash on long filename, now it not crash, it's for this I correct DTA in my osbind (it fix crash and it's why I thing longname was support in Mint for Fsfirst). So for me except for very strange programs, it should not crash, and there is no compatibility trouble, just in Pexec, you should add a good DTA by default thats all. It's my opinion.

Olivier

Is it really worth the trouble ?


Regards,


Xavier