X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/b54c578e17e9bcbd74aa30ea75e25e955b9a6205..refs/heads/master:/OSX/libsecurity_codesigning/lib/notarization.cpp?ds=sidebyside diff --git a/OSX/libsecurity_codesigning/lib/notarization.cpp b/OSX/libsecurity_codesigning/lib/notarization.cpp index fa75c0d0..6587dccd 100644 --- a/OSX/libsecurity_codesigning/lib/notarization.cpp +++ b/OSX/libsecurity_codesigning/lib/notarization.cpp @@ -49,9 +49,9 @@ registerStapledTicketWithSystem(CFDataRef data) secinfo("notarization", "Registering stapled ticket with system"); #if TARGET_OS_OSX - CFErrorRef error = NULL; - if (!SecAssessmentTicketRegister(data, &error)) { - secerror("Error registering stapled ticket: %@", data); + CFRef error; + if (!SecAssessmentTicketRegister(data, &error.aref())) { + secerror("Error registering stapled ticket: %@", error.get()); } #endif // TARGET_OS_OSX } @@ -208,7 +208,7 @@ registerStapledTicketInPackage(const std::string& path) goto lb_exit; } - data = CFDataCreateWithBytesNoCopy(NULL, ticketData, trailer.length, NULL); + data.take(makeCFDataMalloc(ticketData, trailer.length)); if (data.get() == NULL) { secerror("unable to create cfdata for notarization"); goto lb_exit; @@ -221,9 +221,6 @@ lb_exit: if (fd) { close(fd); } - if (ticketData) { - free(ticketData); - } } void @@ -277,7 +274,7 @@ registerStapledTicketInBundle(const std::string& path) goto lb_exit; } - data = CFDataCreateWithBytesNoCopy(NULL, ticketData, ticketLength, NULL); + data.take(makeCFDataMalloc(ticketData, ticketLength)); if (data.get() == NULL) { secerror("unable to create cfdata for notarization"); goto lb_exit; @@ -290,9 +287,6 @@ lb_exit: if (fd) { close(fd); } - if (ticketData) { - free(ticketData); - } } void @@ -305,5 +299,15 @@ registerStapledTicketInDMG(CFDataRef ticketData) registerStapledTicketWithSystem(ticketData); } +void +registerStapledTicketInMachO(CFDataRef ticketData) +{ + if (ticketData == NULL) { + return; + } + secinfo("notarization", "successfully found stapled ticket in MachO"); + registerStapledTicketWithSystem(ticketData); +} + } }