firebase / firebase/firebase-cpp-sdk

[Bug] Crashes at RemoteConfigResponse related to FlatBufferBuilder

オープン
#1,348 コメント 4 件 リアクション 0 件 担当者 0 名 GitHub で見る
api: core api: remoteconfig type: bug
主要言語
C++
スター
326
フォーク
137
平均マージ
3日 9時間
マージ済み PR(30日)
5

説明

### [READ] For Firebase Unity SDK question, please report to [Firebase Unity Sample](https://github.com/firebase/quickstart-unity/issues/new/choose)

Once you've read this section and determined that your issue is appropriate for this repository, please delete this section.

### [REQUIRED] Please fill in the following fields:

* Pre-built SDK from the [website](https://firebase.google.com/download/cpp) or open-source from this repo: 10.3.0
* Firebase C++ SDK version: 10.3.0
* Main Firebase Components in concern: remote_config
* Other Firebase Components in use: auth
* Platform you are using the C++ SDK on: windows
* Platform you are targeting: windows

### [REQUIRED] Please describe the question here:
hi, I found some crash on my customer's PC,
from the minidump, the crash is like this:
![image](https://github.com/firebase/firebase-cpp-sdk/assets/12270346/faaac7bf-6f3a-4569-aa5b-4e9f0d978a35)
the rdx is zero
![image](https://github.com/firebase/firebase-cpp-sdk/assets/12270346/5cf70f98-1fcf-46ec-81b3-a2adc73bcd92)

and the correspond code is
![image](https://github.com/firebase/firebase-cpp-sdk/assets/12270346/8a402825-7a65-4d84-90c9-f739b699a78a)
the rbx+68h get the builder_
the rax+170h use the builder_ get the buffer pointer,
the crash reason is GetRoot function will try use the buffer pointer from builder_,
but if the buffer pointer is null, it will crash,
so I think it should do some protect like this:
![image](https://github.com/firebase/firebase-cpp-sdk/assets/12270346/3c9a590d-82d9-4c8e-993c-74e383b5c33c)

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

FlatBufferBuilder、builder_、GetRoot が関係する RemoteConfigResponse のコードパスから始め、Windows SDK 10.3.0 のパスで null バッファーがどのように発生し得るかを調査してください。その状態で意図されている動作を確認し、報告された minidump パスでクラッシュが発生しなくなったことを検証してください。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
cpp
領域
api
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。