OSDN Git Service

Fix broken pointer overflow check ns_name_unpack()
authorCalin Juravle <calin@google.com>
Thu, 6 Mar 2014 17:05:49 +0000 (17:05 +0000)
committerCalin Juravle <calin@google.com>
Thu, 6 Mar 2014 18:39:29 +0000 (18:39 +0000)
commit85c5202a64e3cb63e54550fca7bb11f24b9d12cc
treeb43e02681bb813fa3cfff49b3da3366d224b7b4c
parentfcb502e3ec032497bba7f8634fb214e0c05394d8
Fix broken pointer overflow check ns_name_unpack()

Many compilers may optimize away the overflow check `msg + l < msg',
where `msg' is a pointer and `l' is an integer, because pointer
overflow is undefined behavior in C.

Use a safe precondition test `l >= eom - msg' instead.
Bug: 13219633

Change-Id: I3fca2125834073cc36d7e9c4e586e97842265a59
libc/dns/nameser/ns_name.c