nodejs / nodejs/node

File descriptor 0 might not get closed when used in file stream

Offen
#57,905 4 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

fs
Vorherrschende Sprache
JavaScript
Sterne
122k
Forks
37.3k
Ø Merge
4 T. 2 Std.
Gemergte PRs (30 T.)
283

Beschreibung

Just from reading the code it seems the file descriptor 0 is not closed for streams.

https://github.com/nodejs/node/blob/e61937b82cbaec758cceeb08876dd51f976b23c2/lib/internal/fs/streams.js#L117-L127

I have not run any tests to confirm that, but the check in code if (!stream.fd) looks rather clear and does not work for fd 0. The _close function actually sets null, so more null-like check should be there:

https://github.com/nodejs/node/blob/e61937b82cbaec758cceeb08876dd51f976b23c2/lib/internal/fs/streams.js#L129-L134

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit dem Lesen der verlinkten Abschnitte in lib/internal/fs/streams.js, insbesondere der Zeilen 117-134, und verfolge, wie der Dateideskriptor des Streams geprüft und gelöscht wird. Bestätige das Verhalten für Deskriptor 0 und füge eine Testabdeckung für den gemeldeten Fall hinzu; abgeschlossen ist die Aufgabe, wenn Deskriptor 0 geschlossen wird, ohne die Bereinigung anderer Streams zu beeinträchtigen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
javascript
Bereich
operating-systems
Issue-Typ
Bug
Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Aktivitätsstatus
Ruhig
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
55/100

Neue Issues direkt in Ihr Postfach

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