jtag: parport: avoid freeing read-only memory section 23/1223/2
authorStefan Mahr <stefan.mahr@sphairon.com>
Tue, 12 Mar 2013 09:43:21 +0000 (10:43 +0100)
committerSpencer Oliver <spen@spen-soft.co.uk>
Wed, 13 Mar 2013 12:54:40 +0000 (12:54 +0000)
If command parport_cable is not executed, parport_cable points to
const char array in read-only memory as default. On exit free()
will try to free this read-only memory. This patch uses strdup to
allocate memory when defining default setting.

Change-Id: I290e707ac6a37e9dc1b45c85ca51d8bd6aac6761
Signed-off-by: Stefan Mahr <stefan.mahr@sphairon.com>
Reviewed-on: http://openocd.zylin.com/1223
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
src/jtag/drivers/parport.c

index 3c07afb..793b28f 100644 (file)
@@ -268,8 +268,8 @@ static int parport_init(void)
 
        cur_cable = cables;
 
-       if ((parport_cable == NULL) || (parport_cable[0] == 0)) {
-               parport_cable = "wiggler";
+       if (parport_cable == NULL) {
+               parport_cable = strdup("wiggler");
                LOG_WARNING("No parport cable specified, using default 'wiggler'");
        }