aboutsummaryrefslogtreecommitdiff
path: root/Foundation/GTMServiceManagement.c
diff options
context:
space:
mode:
authorGravatar gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3>2010-10-01 19:35:58 +0000
committerGravatar gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3>2010-10-01 19:35:58 +0000
commitdc75a0f4fb12c9d0b27e921da172e19cd5ddea30 (patch)
tree8812101ff2772831f10a0183ecd5e1173e73ceb0 /Foundation/GTMServiceManagement.c
parentde14778996e6b0d46b9ce8106ab9f404d9cfdbd4 (diff)
[Author: dmaclach]
Fix up leak found by clang. R=thomasvl DELTA=5 (5 added, 0 deleted, 0 changed)
Diffstat (limited to 'Foundation/GTMServiceManagement.c')
-rw-r--r--Foundation/GTMServiceManagement.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/Foundation/GTMServiceManagement.c b/Foundation/GTMServiceManagement.c
index 35712d5..d6b009d 100644
--- a/Foundation/GTMServiceManagement.c
+++ b/Foundation/GTMServiceManagement.c
@@ -424,6 +424,11 @@ Boolean GTMSMJobSubmit(CFDictionaryRef cf_job, CFErrorRef *error) {
if (LAUNCH_DATA_ERRNO == launch_data_get_type(job_response)) {
int job_err = launch_data_get_errno(job_response);
if (job_err != 0) {
+ // We only keep the last error
+ if (local_error) {
+ CFRelease(local_error);
+ local_error = NULL;
+ }
switch (job_err) {
case EEXIST:
local_error