diff options
author | Ken Chen <cken@google.com> | 2020-08-30 06:35:12 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-08-30 06:35:12 +0000 |
commit | 087507107e7a5d352dbcd8bd5618b5f82bb160eb (patch) | |
tree | 6ca98bdf3d5d46f13c033f8250eee283ff5c32aa | |
parent | 8860af56c35d2797a9ed934eb2fd1cb0f39f6130 (diff) | |
parent | 2820a9770e73253cf0d2311783c12b1d34c05c06 (diff) | |
download | bionic-087507107e7a5d352dbcd8bd5618b5f82bb160eb.tar.gz |
Fix OOB read in DNS resolver am: 43264bc365 am: c5ea7569a8 am: 2c2546b158 am: cf6b3ecd4d am: 2820a9770eandroid-11.0.0_r30android11-qpr1-c-release
Original change: https://googleplex-android-review.googlesource.com/c/platform/bionic/+/12329970
Change-Id: Ic91c04263e75d739a43f3a92756981fb030559ce
-rw-r--r-- | libc/dns/resolv/res_send.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libc/dns/resolv/res_send.c b/libc/dns/resolv/res_send.c index a645a6b4a..fa81e6dc5 100644 --- a/libc/dns/resolv/res_send.c +++ b/libc/dns/resolv/res_send.c @@ -948,6 +948,8 @@ send_vc(res_state statp, struct __res_params* params, else break; } + // return size should never exceed container size + resplen = anssiz; } /* * If the calling applicating has bailed out of @@ -960,7 +962,7 @@ send_vc(res_state statp, struct __res_params* params, DprintQ((statp->options & RES_DEBUG) || (statp->pfcode & RES_PRF_REPLY), (stdout, ";; old answer (unexpected):\n"), - ans, (resplen > anssiz) ? anssiz: resplen); + ans, resplen); goto read_len; } |