GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — gh-155419: honor the file object's current position in `hashlib.file_digest` by picnixz · Pull Request #155422 · python/cpython

Conversation

@picnixz

@picnixz picnixz commented Aug 9, 2026 •
edited by bedevere-app Bot
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member
  • Issue: hashlib.file_digest does not honor current position for io.BytesIO inputs #155419

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@picnixz
pythongh-155419: honor the file object's current position in `hashlib
6817e92
.file_digest`
@picnixz
picnixz requested a review from gpshead as a code owner August 9, 2026 11:39
@bedevere-app bedevere-app Bot added the awaiting core review label Aug 9, 2026
@bedevere-app bedevere-app Bot mentioned this pull request Aug 9, 2026
hashlib.file_digest does not honor current position for io.BytesIO inputs #155419
Open
@picnixz picnixz added needs backport to 3.13 only security fixes needs backport to 3.14 bugs and security fixes needs backport to 3.15 bugs and security fixes labels Aug 9, 2026
cmaloney
cmaloney reviewed Aug 9, 2026
View reviewed changes
Comment thread Lib/hashlib.py Resolved

Uh oh!

There was an error while loading. Please reload this page.

@picnixz picnixz removed the needs backport to 3.13 only security fixes label Oct 19, 2026
@picnixz picnixz self-assigned this Oct 19, 2026
@picnixz picnixz added the sprint label Oct 20, 2026
@github-project-automation github-project-automation Bot added this to Sprint Oct 20, 2026
@github-project-automation github-project-automation Bot moved this to Todo in Sprint Oct 20, 2026
picnixz added 4 commits October 23, 2026 11:51
@picnixz
pythongh-155419: use the hashlib.file_digest fast path for `io.Byte…
8b5acae
…sIO` only

Objects exposing `getbuffer()` without being `io.BytesIO` instances
are now read through `readinto()`. The `io` module is imported lazily.
@picnixz
pythongh-155419: test that importing hashlib does not import io
644ac60
@picnixz
pythongh-155419: test hashlib.file_digest on a non-io.BytesIO buffer
7309e0f
`BytesIOProxy` exposes the `io.BytesIO` interface without being an
instance of it, so `hashlib.file_digest` reads it with `readinto()`
from its current position.
@picnixz
Merge branch 'main' into meta/crypto/py/hashlib/file-digest-honor-pos…
2b29821
…ition-155419
cmaloney
cmaloney approved these changes Oct 25, 2026
View reviewed changes

@cmaloney cmaloney left a comment

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The hashlib change is good to me. The test_hashlib seems to add a lot of complexity for the extra things it's testing which seems out of proportion with the amount of hashlib code changed. If it's covering more I think the refactor is reasonable

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@github-project-automation github-project-automation Bot moved this from Todo to In Progress in Sprint Oct 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@cmaloney cmaloney cmaloney approved these changes
@gpshead gpshead Awaiting requested review from gpshead gpshead is a code owner

Uh oh!

There was an error while loading. Please reload this page.

Assignees

@picnixz picnixz

Labels

awaiting core review needs backport to 3.14 bugs and security fixes needs backport to 3.15 bugs and security fixes sprint

Projects

Sprint
Status: In Progress

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

2 participants

@picnixz @cmaloney
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.