firebase / firebase/firebase-cpp-sdk

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

Abierto
#1,673 1 comentario 0 reacciones 0 asignados Ver en GitHub
needs-triage new type: question
Lenguaje dominante
C++
Estrellas
326
Forks
137
Merge medio
3 d 9 h
PR fusionados (30 d)
5

Descripción

### [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 ?

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Start by reviewing the DatabaseReference lifetime and listener-removal behavior described in the issue, including ValueListener, ChildListener, and the onFinish callback used for get operations. Determine when a reference can be safely destroyed without a heap-use-after-free, and document or reproduce the expected behavior for listener removal.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
cpp
Área
databases
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
20/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.