File tree 1 file changed +5
-2
lines changed 1 file changed +5
-2
lines changed Original file line number Diff line number Diff line change @@ -34,7 +34,6 @@ USES_APPLE_DEPRECATED_API /* OpenSSL API has been deprecated by Apple */
34
34
#include <freeradius-devel/server/pair.h>
35
35
36
36
#include "attrs.h"
37
- #include "base.h"
38
37
#include "bio.h"
39
38
#include "log.h"
40
39
#include "session.h"
@@ -201,15 +200,19 @@ int fr_tls_session_pairs_from_x509_cert(fr_pair_list_t *pair_list, TALLOC_CTX *c
201
200
*/
202
201
{
203
202
ASN1_INTEGER const * serial = NULL ;
203
+ unsigned char * der ;
204
+ int len ;
204
205
205
206
serial = X509_get0_serialNumber (cert );
206
207
if (!serial ) {
207
208
fr_tls_log (request , "Failed retrieving certificate serial" );
208
209
goto error ;
209
210
}
210
211
212
+ len = i2d_ASN1_INTEGER (serial , NULL ); /* get length */
211
213
MEM (fr_pair_append_by_da (ctx , & vp , pair_list , attr_tls_certificate_serial ) == 0 );
212
- MEM (fr_pair_value_memdup (vp , serial -> data , serial -> length , true) == 0 );
214
+ MEM (fr_pair_value_mem_alloc (vp , & der , len , false) == 0 );
215
+ i2d_ASN1_INTEGER (serial , & der );
213
216
}
214
217
215
218
/*
You can’t perform that action at this time.
0 commit comments