In listDevices() there are two occurances where the line similar to the below
(approx 148)
Should change from
memcpy(pascalName, (*deviceList)->entry[i].name, sizeof(char) * 64);
to
memcpy(pascalName, (*deviceList)->entry[i].name, sizeof(char) * 256);
because the size of the entry[i].name is only 64 bytes.
Also in qtSelectDevices this problem exists in two instances.
I realize that the write address is valid for 256, so the program state may be okay, but I think you occasionally get an exception if you are unlucky with your allocation. I think I was experienceing this.
I didn’t look into what p2cstr does and I’m not familiar with pascal strings enough to tell you if changing it to 64 is the complete solution.
Also if there is a better place to put patches please let me know.