From: simon Date: Mon, 22 Jul 2013 07:11:58 +0000 (+0000) Subject: Fix a double error handling goof in the winstore side of the jump list X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/commitdiff_plain/e5fdea4638104829c0ff7bc0cecf284b4e140832 Fix a double error handling goof in the winstore side of the jump list support: transform_jumplist_registry should give its caller dynamically allocated data if and only if it returns JUMPLISTREG_OK, and get_jumplist_registry_entries should test the return value against JUMPLISTREG_OK rather than a value from a totally different enum. git-svn-id: svn://svn.tartarus.org/sgt/putty@9960 cda61777-01e9-0310-a592-d414129be87e --- diff --git a/windows/winstore.c b/windows/winstore.c index 47fef678..ce5dae61 100644 --- a/windows/winstore.c +++ b/windows/winstore.c @@ -749,7 +749,7 @@ static int transform_jumplist_registry /* * Either return or free the result. */ - if (out) + if (out && ret == ERROR_SUCCESS) *out = old_value; else sfree(old_value); @@ -782,7 +782,7 @@ char *get_jumplist_registry_entries (void) { char *list_value; - if (transform_jumplist_registry(NULL,NULL,&list_value) != ERROR_SUCCESS) { + if (transform_jumplist_registry(NULL,NULL,&list_value) != JUMPLISTREG_OK) { list_value = snewn(2, char); *list_value = '\0'; *(list_value + 1) = '\0';