Use strdup instead of hand-rolling one.

Index: src/crypto/objects/obj_lib.c
===================================================================
RCS file: /backup/mirrors/cvsync/src/lib/libssl/src/crypto/objects/obj_lib.c,v
retrieving revision 1.8
diff -u -p -u -r1.8 obj_lib.c
--- src/crypto/objects/obj_lib.c        19 Apr 2014 16:42:26 -0000      1.8
+++ src/crypto/objects/obj_lib.c        25 May 2014 11:56:46 -0000
@@ -67,7 +67,6 @@ OBJ_dup(const ASN1_OBJECT *o)
 {
        ASN1_OBJECT *r;
        int i;
-       char *ln = NULL, *sn = NULL;
        unsigned char *data = NULL;
 
        if (o == NULL)
@@ -92,21 +91,15 @@ OBJ_dup(const ASN1_OBJECT *o)
        r->nid = o->nid;
        r->ln = r->sn = NULL;
        if (o->ln != NULL) {
-               i = strlen(o->ln) + 1;
-               ln = malloc(i);
-               if (ln == NULL)
+               r->ln = strdup(o->ln);
+               if (r->ln == NULL)
                        goto err;
-               memcpy(ln, o->ln, i);
-               r->ln = ln;
        }
 
        if (o->sn != NULL) {
-               i = strlen(o->sn) + 1;
-               sn = malloc(i);
-               if (sn == NULL)
+               r->sn = strdup(o->sn);
+               if (r->sn == NULL)
                        goto err;
-               memcpy(sn, o->sn, i);
-               r->sn = sn;
        }
        r->flags = o->flags | (ASN1_OBJECT_FLAG_DYNAMIC |
            ASN1_OBJECT_FLAG_DYNAMIC_STRINGS | ASN1_OBJECT_FLAG_DYNAMIC_DATA);

Reply via email to