fixed refactoring error in openac
authorAndreas Steffen <andreas.steffen@strongswan.org>
Thu, 4 Dec 2008 04:34:49 +0000 (04:34 -0000)
committerAndreas Steffen <andreas.steffen@strongswan.org>
Thu, 4 Dec 2008 04:34:49 +0000 (04:34 -0000)
src/libstrongswan/plugins/x509/x509_ac.c
src/openac/openac.c

index 257a903..fbb7707 100644 (file)
@@ -409,7 +409,7 @@ static bool parse_certificate(private_x509_ac_t *this)
                                sig_alg = asn1_parse_algorithmIdentifier(object, level, NULL);
                                break;
                        case AC_OBJ_SERIAL_NUMBER:
                                sig_alg = asn1_parse_algorithmIdentifier(object, level, NULL);
                                break;
                        case AC_OBJ_SERIAL_NUMBER:
-                               this->serialNumber = object;
+                               this->serialNumber = chunk_clone(object);
                                break;
                        case AC_OBJ_NOT_BEFORE:
                                this->notBefore = asn1_to_time(&object, ASN1_GENERALIZEDTIME);
                                break;
                        case AC_OBJ_NOT_BEFORE:
                                this->notBefore = asn1_to_time(&object, ASN1_GENERALIZEDTIME);
@@ -923,6 +923,7 @@ static void destroy(private_x509_ac_t *this)
 
                ietfAttr_list_destroy(this->charging);
                ietfAttr_list_destroy(this->groups);
 
                ietfAttr_list_destroy(this->charging);
                ietfAttr_list_destroy(this->groups);
+               free(this->serialNumber.ptr);
                free(this->encoding.ptr);
                free(this);
        }
                free(this->encoding.ptr);
                free(this);
        }
@@ -956,6 +957,7 @@ static private_x509_ac_t *create_empty(void)
 
        /* initialize */
        this->encoding = chunk_empty;
 
        /* initialize */
        this->encoding = chunk_empty;
+       this->serialNumber = chunk_empty;
        this->holderSerial = chunk_empty;
        this->holderIssuer = NULL;
        this->entityName = NULL;
        this->holderSerial = chunk_empty;
        this->holderIssuer = NULL;
        this->entityName = NULL;
index 999447d..3d25160 100755 (executable)
@@ -540,7 +540,6 @@ int main(int argc, char **argv)
                                                        BUILD_SIGNING_CERT, signerCert,
                                                        BUILD_SIGNING_KEY, signerKey,
                                                        BUILD_END);
                                                        BUILD_SIGNING_CERT, signerCert,
                                                        BUILD_SIGNING_KEY, signerKey,
                                                        BUILD_END);
-               free(serial.ptr);
                if (!attr_cert)
                {
                        goto end;
                if (!attr_cert)
                {
                        goto end;