summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/err/err.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/err/err.c')
-rw-r--r--src/lib/libcrypto/err/err.c21
1 files changed, 4 insertions, 17 deletions
diff --git a/src/lib/libcrypto/err/err.c b/src/lib/libcrypto/err/err.c
index dcf725fd64..1b235c1653 100644
--- a/src/lib/libcrypto/err/err.c
+++ b/src/lib/libcrypto/err/err.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: err.c,v 1.43 2017/02/07 03:11:11 beck Exp $ */ 1/* $OpenBSD: err.c,v 1.44 2017/02/07 15:52:33 jsing Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -862,9 +862,8 @@ void
862ERR_error_string_n(unsigned long e, char *buf, size_t len) 862ERR_error_string_n(unsigned long e, char *buf, size_t len)
863{ 863{
864 char lsbuf[30], fsbuf[30], rsbuf[30]; 864 char lsbuf[30], fsbuf[30], rsbuf[30];
865 const char *ls, *fs, *rs, *file, *data; 865 const char *ls, *fs, *rs;
866 int l, f, r, ret, line, flags; 866 int l, f, r, ret;
867
868 867
869 l = ERR_GET_LIB(e); 868 l = ERR_GET_LIB(e);
870 f = ERR_GET_FUNC(e); 869 f = ERR_GET_FUNC(e);
@@ -887,19 +886,7 @@ ERR_error_string_n(unsigned long e, char *buf, size_t len)
887 rs = rsbuf; 886 rs = rsbuf;
888 } 887 }
889 888
890 if (ERR_get_error_line_data(&file, &line, &data, &flags) != 0) { 889 ret = snprintf(buf, len, "error:%08lX:%s:%s:%s", e, ls, fs, rs);
891 const char *filename;
892
893 if ((filename = strrchr(file, '/')) != NULL)
894 filename++;
895 else
896 filename = file;
897
898 ret = snprintf(buf, len, "error:%08lX:%s:%s:%s:%s:%d", e, ls,
899 fs, rs, filename, line);
900 } else
901 ret = snprintf(buf, len, "error:%08lX:%s:%s:%s", e, ls, fs, rs);
902
903 if (ret == -1) 890 if (ret == -1)
904 return; /* can't happen, and can't do better if it does */ 891 return; /* can't happen, and can't do better if it does */
905 if (ret >= len) { 892 if (ret >= len) {