summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/dso/dso_lib.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/dso/dso_lib.c')
-rw-r--r--src/lib/libcrypto/dso/dso_lib.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/lib/libcrypto/dso/dso_lib.c b/src/lib/libcrypto/dso/dso_lib.c
index ae10104560..882b9c2fcb 100644
--- a/src/lib/libcrypto/dso/dso_lib.c
+++ b/src/lib/libcrypto/dso/dso_lib.c
@@ -356,12 +356,11 @@ DSO_set_filename(DSO *dso, const char *filename)
356 return (0); 356 return (0);
357 } 357 }
358 /* We'll duplicate filename */ 358 /* We'll duplicate filename */
359 copied = malloc(strlen(filename) + 1); 359 copied = strdup(filename);
360 if (copied == NULL) { 360 if (copied == NULL) {
361 DSOerr(DSO_F_DSO_SET_FILENAME, ERR_R_MALLOC_FAILURE); 361 DSOerr(DSO_F_DSO_SET_FILENAME, ERR_R_MALLOC_FAILURE);
362 return (0); 362 return (0);
363 } 363 }
364 strlcpy(copied, filename, strlen(filename) + 1);
365 if (dso->filename) 364 if (dso->filename)
366 free(dso->filename); 365 free(dso->filename);
367 dso->filename = copied; 366 dso->filename = copied;
@@ -409,13 +408,12 @@ DSO_convert_filename(DSO *dso, const char *filename)
409 result = dso->meth->dso_name_converter(dso, filename); 408 result = dso->meth->dso_name_converter(dso, filename);
410 } 409 }
411 if (result == NULL) { 410 if (result == NULL) {
412 result = malloc(strlen(filename) + 1); 411 result = strdup(filename);
413 if (result == NULL) { 412 if (result == NULL) {
414 DSOerr(DSO_F_DSO_CONVERT_FILENAME, 413 DSOerr(DSO_F_DSO_CONVERT_FILENAME,
415 ERR_R_MALLOC_FAILURE); 414 ERR_R_MALLOC_FAILURE);
416 return (NULL); 415 return (NULL);
417 } 416 }
418 strlcpy(result, filename, strlen(filename) + 1);
419 } 417 }
420 return (result); 418 return (result);
421} 419}