# HG changeset patch # User truelight # Date 1100949331 0 # Node ID d8c423a7a5f060d882377b12e64eb04c5c333b25 # Parent 3a36baf27955158f3cc35a8d9760f39e82fab22d (svn r702) -Fix: Buffer overflow in music/sound/video-driver-parameter (Oskar_) diff -r 3a36baf27955 -r d8c423a7a5f0 ttd.c --- a/ttd.c Sat Nov 20 02:36:10 2004 +0000 +++ b/ttd.c Sat Nov 20 11:15:31 2004 +0000 @@ -480,7 +480,7 @@ int network = 0; char *network_conn = NULL; char *language = NULL; - char musicdriver[32], sounddriver[32], videodriver[32]; + char musicdriver[16], sounddriver[16], videodriver[16]; int resolution[2] = {0,0}; uint startdate = -1; _ignore_wrong_grf = false; @@ -549,9 +549,9 @@ LoadFromConfig(); // override config? - if (musicdriver[0]) strcpy(_ini_musicdriver, musicdriver); - if (sounddriver[0]) strcpy(_ini_sounddriver, sounddriver); - if (videodriver[0]) strcpy(_ini_videodriver, videodriver); + if (musicdriver[0]) ttd_strlcpy(_ini_musicdriver, musicdriver, sizeof(_ini_musicdriver)); + if (sounddriver[0]) ttd_strlcpy(_ini_sounddriver, sounddriver, sizeof(_ini_sounddriver)); + if (videodriver[0]) ttd_strlcpy(_ini_videodriver, videodriver, sizeof(_ini_videodriver)); if (resolution[0]) { _cur_resolution[0] = resolution[0]; _cur_resolution[1] = resolution[1]; } if (startdate != -1) _patches.starting_date = startdate;