
ADB Nexusは、接続されたスマホのcat /proc/meminfoからリアルタイムのRAMグラフを描画します。ここでは2種類の不正な入力が考えられ、パーサーはそれらを異なる方法で処理します。 MemAvailableが欠落しているのは、古いカーネルでは正常です(このフィールドはLinux 3.14で導入されました)。アプリはMemFree + Buffers + Cached + SReclaimable - Shmemからこれを推定します。 MemAvailableが存在し、MemTotalより大きい場合、出力は破損しているため、そのサンプルは破棄されます。1つのユニットテストでは、MemTotalを10 kB、MemAvailableを11 kBとして入力し、何も返されないことを期待しています。 簡単なバージョンでは、どちらの場合もMemFreeにフォールバックします。その結果、デバイスからのゴミデータが信頼できるように見えるラインとして描画され、誰もグラフを疑いません。 もしフォールバックが不可能な値と欠落した値の両方に対して発動する場合、ダッシュボードは不良な読み取り値と実際の値を区別できなくなります。
