This change seems to be the cause (which was motivated by the fact that otherwise with large memory model regular malloc's would fail as they bumped into the allocated memory block) --- a/cmd/dir.c +++ b/cmd/dir.c @@ -1010,7 +1010,8 @@ static int dir_list(int pathlen error_out_of_memory(); optO = 0; } else { - orderArray = MK_SEG_PTR(void, DOSalloc(0x1000,0)); + /* use last-fit allocation to work well with large model */ + orderArray = MK_SEG_PTR(void, DOSalloc(0x1000,2)); if(!orderArray) { free(orderIndex); error_out_of_dos_memory();
if I change it back to 0 it's ok. The large memory model is only used for debugging though ... I am still puzzled as to why last-fit allocation seems to cause memory corruption (with small model here!) and first-fit does not. Bart ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel