lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sat, 3 Dec 2022 17:37:40 +0800 From: Xin Liu <liuxin350@...wei.com> To: <andrii@...nel.org>, <ast@...nel.org>, <daniel@...earbox.net>, <martin.lau@...ux.dev>, <song@...nel.org>, <yhs@...com>, <john.fastabend@...il.com>, <kpsingh@...nel.org>, <sdf@...gle.com>, <haoluo@...gle.com>, <jolsa@...nel.org> CC: <bpf@...r.kernel.org>, <linux-kernel@...r.kernel.org>, <yanan@...wei.com>, <wuchangye@...wei.com>, <xiesongyang@...wei.com>, <kongweibin2@...wei.com>, <liuxin350@...wei.com>, <zhangmingyi5@...wei.com> Subject: [PATCH bpf-next] libbpf: Optimized return value in libbpf_strerror when errno is libbpf errno This is a small improvement in libbpf_strerror. When libbpf_strerror is used to obtain the system error description, if the length of the buf is insufficient, libbpf_sterror returns ERANGE and sets errno to ERANGE. However, this processing is not performed when the error code customized by libbpf is obtained. Make some minor improvements here, return -ERANGE and set errno to ERANGE when buf is not enough for custom description. Signed-off-by: Xin Liu <liuxin350@...wei.com> --- tools/lib/bpf/libbpf_errno.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/lib/bpf/libbpf_errno.c b/tools/lib/bpf/libbpf_errno.c index 96f67a772a1b..48ce7d5b5bf9 100644 --- a/tools/lib/bpf/libbpf_errno.c +++ b/tools/lib/bpf/libbpf_errno.c @@ -54,10 +54,16 @@ int libbpf_strerror(int err, char *buf, size_t size) if (err < __LIBBPF_ERRNO__END) { const char *msg; + size_t msg_size; msg = libbpf_strerror_table[ERRNO_OFFSET(err)]; snprintf(buf, size, "%s", msg); buf[size - 1] = '\0'; + + msg_size = strlen(msg); + if (msg_size >= size) + return libbpf_err(-ERANGE); + return 0; } -- 2.33.0
Powered by blists - more mailing lists