`Fiddle::Pointer#to_value` is unsafe
Personne n'a encore pris cette issue.
- Langage dominant
- Ruby
- Étoiles
- 195
- Forks
- 53
- Merge moyen
- 23 h 57 min
- PR mergées (30 j)
- 1
Description
Well, it's pretty self-explanatory. It returns (VALUE)(data->ptr), and ptr is obviously not marked, so can be GCed. This method is either should be removed completely (it'll still e possible to hack around with Fiddle.dlunwrap, but this at least feels hacky) or to be allowed only for pointers marked to be in fact VALUEs (mark return value type in Function constructor), and they of course should gc_mark their ptrs. Btw, there is no way to create a pointer from Ruby object, either.
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par lire l’implémentation de Fiddle::Pointer#to_value et du constructeur Function, puis examinez comment le marquage des pointeurs et Fiddle.dlunwrap interagissent avec le garbage collector de Ruby. L’issue présente des alternatives de suppression et de restriction de type ; sa résolution nécessite une conception de sécurité arrêtée, une implémentation et une couverture du comportement concerné.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- ruby
- Domaine
- tooling
- Type d'issue
- Bug
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- Calme
- Clarté
- À clarifier
- Accessibilité débutants
- 30/100