diff options
Diffstat (limited to 'src/lib/libcrypto/objects/obj_dat.c')
| -rw-r--r-- | src/lib/libcrypto/objects/obj_dat.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/lib/libcrypto/objects/obj_dat.c b/src/lib/libcrypto/objects/obj_dat.c index 4534dc0985..f549d078ef 100644 --- a/src/lib/libcrypto/objects/obj_dat.c +++ b/src/lib/libcrypto/objects/obj_dat.c | |||
| @@ -236,13 +236,13 @@ int OBJ_add_object(const ASN1_OBJECT *obj) | |||
| 236 | if (added == NULL) | 236 | if (added == NULL) |
| 237 | if (!init_added()) return(0); | 237 | if (!init_added()) return(0); |
| 238 | if ((o=OBJ_dup(obj)) == NULL) goto err; | 238 | if ((o=OBJ_dup(obj)) == NULL) goto err; |
| 239 | if (!(ao[ADDED_NID]=(ADDED_OBJ *)OPENSSL_malloc(sizeof(ADDED_OBJ)))) goto err; | 239 | if (!(ao[ADDED_NID]=(ADDED_OBJ *)OPENSSL_malloc(sizeof(ADDED_OBJ)))) goto err2; |
| 240 | if ((o->length != 0) && (obj->data != NULL)) | 240 | if ((o->length != 0) && (obj->data != NULL)) |
| 241 | ao[ADDED_DATA]=(ADDED_OBJ *)OPENSSL_malloc(sizeof(ADDED_OBJ)); | 241 | if (!(ao[ADDED_DATA]=(ADDED_OBJ *)OPENSSL_malloc(sizeof(ADDED_OBJ)))) goto err2; |
| 242 | if (o->sn != NULL) | 242 | if (o->sn != NULL) |
| 243 | ao[ADDED_SNAME]=(ADDED_OBJ *)OPENSSL_malloc(sizeof(ADDED_OBJ)); | 243 | if (!(ao[ADDED_SNAME]=(ADDED_OBJ *)OPENSSL_malloc(sizeof(ADDED_OBJ)))) goto err2; |
| 244 | if (o->ln != NULL) | 244 | if (o->ln != NULL) |
| 245 | ao[ADDED_LNAME]=(ADDED_OBJ *)OPENSSL_malloc(sizeof(ADDED_OBJ)); | 245 | if (!(ao[ADDED_LNAME]=(ADDED_OBJ *)OPENSSL_malloc(sizeof(ADDED_OBJ)))) goto err2; |
| 246 | 246 | ||
| 247 | for (i=ADDED_DATA; i<=ADDED_NID; i++) | 247 | for (i=ADDED_DATA; i<=ADDED_NID; i++) |
| 248 | { | 248 | { |
| @@ -260,6 +260,8 @@ int OBJ_add_object(const ASN1_OBJECT *obj) | |||
| 260 | ASN1_OBJECT_FLAG_DYNAMIC_DATA); | 260 | ASN1_OBJECT_FLAG_DYNAMIC_DATA); |
| 261 | 261 | ||
| 262 | return(o->nid); | 262 | return(o->nid); |
| 263 | err2: | ||
| 264 | OBJerr(OBJ_F_OBJ_ADD_OBJECT,ERR_R_MALLOC_FAILURE); | ||
| 263 | err: | 265 | err: |
| 264 | for (i=ADDED_DATA; i<=ADDED_NID; i++) | 266 | for (i=ADDED_DATA; i<=ADDED_NID; i++) |
| 265 | if (ao[i] != NULL) OPENSSL_free(ao[i]); | 267 | if (ao[i] != NULL) OPENSSL_free(ao[i]); |
| @@ -648,7 +650,7 @@ int OBJ_create(const char *oid, const char *sn, const char *ln) | |||
| 648 | 650 | ||
| 649 | if ((buf=(unsigned char *)OPENSSL_malloc(i)) == NULL) | 651 | if ((buf=(unsigned char *)OPENSSL_malloc(i)) == NULL) |
| 650 | { | 652 | { |
| 651 | OBJerr(OBJ_F_OBJ_CREATE,OBJ_R_MALLOC_FAILURE); | 653 | OBJerr(OBJ_F_OBJ_CREATE,ERR_R_MALLOC_FAILURE); |
| 652 | return(0); | 654 | return(0); |
| 653 | } | 655 | } |
| 654 | i=a2d_ASN1_OBJECT(buf,i,oid,-1); | 656 | i=a2d_ASN1_OBJECT(buf,i,oid,-1); |
