Check if 'cache' is a valid pointer before dereference it

Null pointer dereference occurs when
step1: thread#1 is waiting for DNS response from server.
step2: thread#2 is querying on the same hostname, which release
       lock and enter waiting state.
step3: network disconnect.

Bug: b/124776120
Test: runtests.sh pass
Change-Id: I3ef1a2f06c4fd547fa3da4eed1a9152c3c55e704
1 file changed