[Allegro] Etwas für C-Programmierer: strcpy() vs. memmove()

Bernhard Eversberg ev at biblio.tu-bs.de
Mo Dez 2 14:08:37 CET 2013


Am 02.12.2013 13:01, schrieb Fischer, Thomas:
>
> 1. Am Anfang dieser Debatte stand m.E. das Problem, dass unsere
> kombinierte HANS-Suche nicht wie gewünscht funktionierte, weil - so
> analysierte Herr Berger - acon (ein?) Zeichen bei der Verarbeitung
> der Suche verschluckte. 2. Dies führte er auf das strcpy-Verhalten
> zurück, die von Ihnen mit Visual Studio produzierte acon.exe (v.33.4)
> zeigte dieses Verhalten, nicht aber die erneuerte jetzt aktuelle
> Version von acon.exe.
>
> Damit ergibt sich die Frage: war  die Analyse von Herrn Berger
> falsch, ging das fehlende Zeichen also auf andere Weise als durch
> strcpy verloren? Oder hat Ihr Compiler in dieser Situation doch ein
> unsicheres strcpy eingebaut, das bei Überschneidung von Quelle und
> Ziel fehlerhafte Ergebnisse lieferte?
>

Ohne Kenntnis und Inspektion des konkreten Falls kann ich dazu
nichts Belastbares sagen.
Das acon in der V33.5 ist noch erst teilweise mit memmove() statt
strcpy() ausgestattet. Wenn das Problem damit nicht mehr auftritt,
mag's aber schon sein, daß es durch diese Eingriffe eliminiert wurde.

Wir bringen in Kürze die vollständig revidierten und mit stcopy()
ausgestatteten Quellen ins Netz sowie die damit von uns kompilierten 
Executables und stellen anheim, alles schonungslosen Härtetests
auszusetzen.

B.E.



Mehr Informationen über die Mailingliste Allegro