Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Unchecked *_set_* calls

Ouverte
#1,038 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

@ndossche y travaille déjà.

Depuis le 29/4/2026.

  • #1044 par @ndossche — ouverte

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
35/100
Type d'issue
Bug
Clarté
À clarifier
Activité
Calme
Stack technique
c, ruby

Piste de recherche

Passez en revue les setters côté Ruby qui appellent X509_STORE_set_trust, X509_STORE_set_flags, X509_STORE_set_purpose, SSL_SESSION_set_timeout et TS_RESP_CTX_set_signer_key. Vérifiez comment chaque valeur de retour d’OpenSSL est gérée et déterminez le comportement attendu lorsqu’un setter échoue. Done doit inclure une politique de gestion des erreurs définie et une couverture des appels concernés.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

There's a few calls to setter functions that are unchecked.

  • X509_STORE_set_trust (can fail with invalid argument)
  • X509_STORE_set_flags (can't fail with the current implementation, but docs don't confirm this)
  • X509_STORE_set_purpose (can fail with invalid argument)
  • SSL_SESSION_set_timeout (can fail with negative argument)
  • TS_RESP_CTX_set_signer_key (can't fail with the current implementation, but docs don't confirm this, depends on failure of up_ref)
  • Probably some more

Yet the setters on Ruby's side don't check the return value of these OpenSSL calls. That means that the user is not informed that their setter has failed. It also returns the new value even though the new value may not have been set.
It may be desirable to raise an exception. On the other hand it may break some code (although you could argue that the code was already wrong to begin with).

Could you please share your opinion on this? If wanted, I can send a PR.

Langage dominant
C
Étoiles
276
Forks
204
Merge moyen
1 j 3 h
PR mergées (30 j)
8

Préparer son environnement

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/openssl

Toutes les issues de ruby/openssl

Issues similaires

Plus d'issues C

Recevez les nouvelles issues par e-mail

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