ASN1_OBJECTs should be freed with ASN1_OBJECT_free(3), not with free(3).

   292  int
   293  OBJ_add_object(const ASN1_OBJECT *obj)
   294  {
   295          ASN1_OBJECT *o;

Index: objects/obj_dat.c
===================================================================
RCS file: /cvs/src/lib/libcrypto/objects/obj_dat.c,v
retrieving revision 1.40
diff -u -p -r1.40 obj_dat.c
--- objects/obj_dat.c   8 Sep 2018 10:31:24 -0000       1.40
+++ objects/obj_dat.c   8 Sep 2018 10:35:16 -0000
@@ -333,7 +333,7 @@ OBJ_add_object(const ASN1_OBJECT *obj)
  err:
        for (i = ADDED_DATA; i <= ADDED_NID; i++)
                free(ao[i]);
-       free(o);
+       ASN1_OBJECT_free(o);
        return (NID_undef);
 }
 

Reply via email to