diff options
| -rw-r--r-- | src/settings.c | 10 | 
1 files changed, 7 insertions, 3 deletions
| diff --git a/src/settings.c b/src/settings.c index e756364..663a21a 100644 --- a/src/settings.c +++ b/src/settings.c @@ -63,13 +63,17 @@ void BarSettingsInit (BarSettings_t *settings) {  }  void BarSettingsDestroy (BarSettings_t *settings) { -	BarKeyShortcut_t *curShortcut, *lastShortcut; +	BarKeyShortcut_t *curShortcut = settings->keys, *lastShortcut;  	while (curShortcut != NULL) {  		lastShortcut = curShortcut;  		curShortcut = curShortcut->next; -		free (lastShortcut->description); -		free (lastShortcut->configKey); +		if (lastShortcut->description != NULL) { +			free (lastShortcut->description); +		} +		if (lastShortcut->configKey != NULL) { +			free (lastShortcut->configKey); +		}  		free (lastShortcut);  	}  	free (settings->controlProxy); | 
