Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Unchecked *_set_* calls

Offen
#1,038 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

@ndossche arbeitet bereits daran.

Seit 29.4.2026.

  • #1044 von @ndossche — offen

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
35/100
Issue-Typ
Bug
Klarheit
Muss geklärt werden
Aktivitätsstatus
Ruhig
Tech-Stack
c, ruby

Rechercherichtung

Überprüfe die Ruby-seitigen Setter, die X509_STORE_set_trust, X509_STORE_set_flags, X509_STORE_set_purpose, SSL_SESSION_set_timeout und TS_RESP_CTX_set_signer_key aufrufen. Prüfe, wie jeder OpenSSL-Rückgabewert behandelt wird, und bestimme das beabsichtigte Verhalten, wenn ein Setter fehlschlägt. Done sollte eine festgelegte Fehlerbehandlungsrichtlinie und Abdeckung für die betroffenen Aufrufe umfassen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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.

Vorherrschende Sprache
C
Sterne
276
Forks
204
Ø Merge
1 T. 7 Std.
Gemergte PRs (30 T.)
9

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus ruby/openssl

Alle Issues in ruby/openssl

Ähnliche Issues

Weitere Issues zu C

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.