View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update | 
|---|---|---|---|---|---|
| 0002520 | FSSCP | Platform-Engine interaction | public | 2011-10-15 14:44 | 2011-10-16 06:12 | 
| Reporter | ComputerDruid | Assigned To | Echelon9 | ||
| Priority | normal | Severity | crash | Reproducibility | always | 
| Status | resolved | Resolution | fixed | ||
| Fixed in Version | 3.6.13 | ||||
| Summary | 0002520: r7905 crashes when no -keyboard_layout is specified | ||||
| Description | r7905 introduced the new -keyboard_layout option. However, when not specified, it causes strcmp to be called on a null pointer, which causes a segfault on my system/optimizations (Linux x86_64) | ||||
| Additional Information | Recommend to first check if the option is specified before running strcmp. Please see attached patch. | ||||
| Tags | No tags attached. | ||||
| 
 2011-10-15 14:44 
 |  fix-strcmp.patch (469 bytes)   
 diff --git a/code/io/key.cpp b/code/io/key.cpp
index 15b05bf..c3582b8 100644
--- a/code/io/key.cpp
+++ b/code/io/key.cpp
@@ -115,8 +115,10 @@ void FillSDLArray ()
 {
 	KeyboardLayout layout = KEYBOARD_LAYOUT_DEFAULT;
 
-	if (!strcmp(Cmdline_keyboard_layout, "qwertz")) {
-		layout = KEYBOARD_LAYOUT_QWERTZ;
+	if (Cmdline_keyboard_layout) {
+		if (!strcmp(Cmdline_keyboard_layout, "qwertz")) {
+			layout = KEYBOARD_LAYOUT_QWERTZ;
+		}
 	}
 
 	SDLtoFS2[SDLK_0] = KEY_0;
 | 
|  | Fixed in a similar, but not quite the same, way in http://svn.icculus.org/fs2open?view=rev&revision=7906 | 
| Date Modified | Username | Field | Change | 
|---|---|---|---|
| 2011-10-15 14:44 | ComputerDruid | New Issue | |
| 2011-10-15 14:44 | ComputerDruid | File Added: fix-strcmp.patch | |
| 2011-10-16 06:11 | Echelon9 | Status | new => assigned | 
| 2011-10-16 06:11 | Echelon9 | Assigned To | => Echelon9 | 
| 2011-10-16 06:12 | Echelon9 | Note Added: 0012893 | |
| 2011-10-16 06:12 | Echelon9 | Status | assigned => resolved | 
| 2011-10-16 06:12 | Echelon9 | Fixed in Version | => 3.6.13 | 
| 2011-10-16 06:12 | Echelon9 | Resolution | open => fixed | 
