]> asedeno.scripts.mit.edu Git - PuTTY.git/commitdiff
Fix a double error handling goof in the winstore side of the jump list
authorSimon Tatham <anakin@pobox.com>
Mon, 22 Jul 2013 07:11:58 +0000 (07:11 +0000)
committerSimon Tatham <anakin@pobox.com>
Mon, 22 Jul 2013 07:11:58 +0000 (07:11 +0000)
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.

[originally from svn r9960]

windows/winstore.c

index 47fef678cdc126fe77abaca6c3cca2e9ddd6e722..ce5dae61da56070ad8676d309cffd425954e7099 100644 (file)
@@ -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';