summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChalard Jean <jchalard@google.com>2021-07-16 09:15:22 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-07-16 09:15:22 +0000
commited2d1598f58cdb2c1f4282e04a1ae2ffc792e6fc (patch)
treea3820e13080c7a8ec8151ef04919fb86fddd74c8
parente337d74b46ff48bd1a2ac0b40e06f1fb50ae428b (diff)
parent650e816f7e186ecaee899fa14fb34e10f9644fa1 (diff)
downloadppp-ed2d1598f58cdb2c1f4282e04a1ae2ffc792e6fc.tar.gz
Merge "vslprintf should never read more than the precision" am: e2e9de9526 am: 650e816f7e
Original change: https://android-review.googlesource.com/c/platform/external/ppp/+/1765873 Change-Id: I5f0e7a26b41a166fd8f5e1c73013bd6562789c6a
-rw-r--r--pppd/utils.c8
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++;