`Fiddle::Pointer#to_value` is unsafe

Ouverte
#175 5 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
30/100
Type d'issue
Bug
Clarté
À clarifier
Activité
Calme
Stack technique
ruby
Domaine
tooling

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.

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.

Langage dominant
Ruby
Étoiles
195
Forks
53
Merge moyen
23 h 57 min
PR mergées (30 j)
1

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de ruby/fiddle

Toutes les issues de ruby/fiddle

Issues similaires

Plus d'issues Ruby

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.