Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 1 | From 94fe6eb9ea2691f4a7c32fbf2d0c7c454995b666 Mon Sep 17 00:00:00 2001 |
| 2 | From: Changqing Li <changqing.li@windriver.com> |
| 3 | Date: Thu, 27 Feb 2020 11:08:57 +0800 |
| 4 | Subject: [PATCH] Fix #587 |
| 5 | |
| 6 | Off by one error in common.c, CVE-2019-19906. |
| 7 | |
| 8 | Thanks to Stephan Zeisberg for reporting |
| 9 | |
| 10 | CVE: CVE-2019-19906 |
| 11 | |
| 12 | Upstream-Stauts: Backport [https://github.com/cyrusimap/cyrus-sasl |
| 13 | /commit/dcc9f51cbd4ed622cfb0f9b1c141eb2ffe3b12f1] |
| 14 | |
| 15 | Signed-off-by: Changqing Li <changqing.li@windriver.com> |
| 16 | --- |
Patrick Williams | 520786c | 2023-06-25 16:20:36 -0500 | [diff] [blame] | 17 | Upstream-Status: Pending |
| 18 | |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 19 | lib/common.c | 2 +- |
| 20 | 1 file changed, 1 insertion(+), 1 deletion(-) |
| 21 | |
| 22 | diff --git a/lib/common.c b/lib/common.c |
Andrew Geissler | 9aee500 | 2022-03-30 16:27:02 +0000 | [diff] [blame] | 23 | index d9104c8..fef82db 100644 |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 24 | --- a/lib/common.c |
| 25 | +++ b/lib/common.c |
| 26 | @@ -190,7 +190,7 @@ int _sasl_add_string(char **out, size_t *alloclen, |
| 27 | |
| 28 | if (add==NULL) add = "(null)"; |
| 29 | |
| 30 | - addlen=strlen(add); /* only compute once */ |
| 31 | + addlen=strlen(add)+1; /* only compute once */ |
Andrew Geissler | 9aee500 | 2022-03-30 16:27:02 +0000 | [diff] [blame] | 32 | if (_buf_alloc(out, alloclen, (*outlen)+addlen+1)!=SASL_OK) |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 33 | return SASL_NOMEM; |
| 34 | |
| 35 | -- |
Andrew Geissler | 9aee500 | 2022-03-30 16:27:02 +0000 | [diff] [blame] | 36 | 2.25.1 |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 37 | |