mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-01-09 09:27:59 +00:00
Don't delete everything under a string-subkeyed primary key by using a
loop that fetches the next item using conf_get_str_strs and passing the previous key as a parameter, because the previous key will have been freed by the intervening conf_del_str_str. Instead, use the technique of repeatedly using conf_get_str_nthstrkey with index 0 and deleting what comes back, as PSCP and PSFTP do. Spotted by Minefield with the aid of Jacob, or possibly vice versa. [originally from svn r9220]
This commit is contained in:
parent
31fd55edf1
commit
a474a598b5
@ -145,10 +145,8 @@ static int gppmap(void *handle, char *name, Conf *conf, int primary)
|
||||
/*
|
||||
* Start by clearing any existing subkeys of this key from conf.
|
||||
*/
|
||||
for (val = conf_get_str_strs(conf, primary, NULL, &key);
|
||||
val != NULL;
|
||||
val = conf_get_str_strs(conf, primary, key, &key))
|
||||
conf_del_str_str(conf, primary, key);
|
||||
while ((key = conf_get_str_nthstrkey(conf, primary, 0)) != NULL)
|
||||
conf_del_str_str(conf, primary, key);
|
||||
|
||||
/*
|
||||
* Now read a serialised list from the settings and unmarshal it
|
||||
|
Loading…
Reference in New Issue
Block a user