firebase / firebase/firebase-cpp-sdk

[Question] heap-use-after-free after deleting database::DatabaseReference

Open
#1,673 1 comment 0 reactions 0 assignees View on GitHub
needs-triage new type: question
Dominant language
C++
Stars
326
Forks
137
Avg merge
3d 9h
Merged PRs (30d)
5

Description

### [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: open source from this repo
* Firebase C++ SDK version: all
* Main Firebase Components in concern: Database
* Other Firebase Components in use: -
* Platform you are using the C++ SDK on: Linux
* Platform you are targeting: iOS, Android, Destkop

### [REQUIRED] Please describe the question here:

I have lot of issue with "heap-use-after-free". To what I understand, the issue is linked to the fact reference is removed while beeing still in use in the SDK. When I made some "get" I just wait for the onFinish callback to be sure that firebase SDK don't need the reference anymore. But when using with Listener (ValueListener or ChildListener) we have no callback saying that the remove listener is finished. Then it's not clear when the reference can be safely destroyed. I tried lot of different approach but I always ends in use after free issue. Where can I find more informations about when a reference can be destroyed without risking a crash ?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.