diff options
author | Chalard Jean <jchalard@google.com> | 2021-07-16 09:30:31 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2021-07-16 09:30:31 +0000 |
commit | 73bdc472d186798ca26b7c2471b643589c0f5eb3 (patch) | |
tree | a3820e13080c7a8ec8151ef04919fb86fddd74c8 | |
parent | 1f46de374fe8efa1db4c8acff1e4e81c6a8124dd (diff) | |
parent | ed2d1598f58cdb2c1f4282e04a1ae2ffc792e6fc (diff) | |
download | ppp-73bdc472d186798ca26b7c2471b643589c0f5eb3.tar.gz |
Merge "vslprintf should never read more than the precision" am: e2e9de9526 am: 650e816f7e am: ed2d1598f5
Original change: https://android-review.googlesource.com/c/platform/external/ppp/+/1765873
Change-Id: If7562556ba94c67e77ddd88bf424ec5a5602b8af
-rw-r--r-- | pppd/utils.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/pppd/utils.c b/pppd/utils.c index 87a118d..80cc292 100644 --- a/pppd/utils.c +++ b/pppd/utils.c @@ -311,9 +311,11 @@ vslprintf(buf, buflen, fmt, args) if (fillch == '0' && prec >= 0) { n = prec; } else { - n = strlen((char *)p); - if (prec >= 0 && n > prec) - n = prec; + if (prec >= 0) { + n = strnlen((char *)p, prec); + } else { + n = strlen((char *)p); + } } while (n > 0 && buflen > 0) { c = *p++; |