8000 Fix undefined behaviour in datetime.time.fromisoformat() by Yhg1s · Pull Request #111982 · python/cpython · GitHub
[go: up one dir, main page]

Skip to content

8000 Fix undefined behaviour in datetime.time.fromisoformat() #111982

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Nov 11, 2023

Conversation

Yhg1s
Copy link
Member
@Yhg1s Yhg1s commented Nov 11, 2023

Fix undefined behaviour in datetime.time.fromisoformat() when parsing a string without a timezone. 'tzoffset' is not assigned to by parse_isoformat_time if it returns 0, but time_fromisoformat then passes tzoffset to another function, which is undefined behaviour (even if the function in question does not use the value).

string without a timezone. 'tzoffset' is not assigned to by
parse_isoformat_time if it returns 0, but time_fromisoformat then passes
tzoffset to another function, which is undefined behaviour (even if the
function in question does not use the value).
8000 @Yhg1s Yhg1s added skip issue skip news 3.11 only security fixes 3.12 only security fixes labels Nov 11, 2023
Copy link
Member
@pganssle pganssle left a comment

Choose a reason for hiding this comment

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

This looks like it was always supposed to be assigned zero anyway, I think. Probably either missed the assignment, or was confused about the syntax of defining multiple variables on one line. I would not put either mistake by myself, assuming I wrote this in the first place 😅

@Yhg1s
Copy link
Member Author
Yhg1s commented Nov 11, 2023

Yeah, the other call to the two functions (datetime_fromisoformat) does initialize tzoffset, so I assumed it was a mistake :)

@Yhg1s Yhg1s merged commit 21615f7 into python:main Nov 11, 2023
@Yhg1s Yhg1s added needs backport to 3.11 only security fixes needs backport to 3.12 only security fixes and removed 3.11 only security fixes 3.12 only security fixes labels Nov 12, 2023
@miss-islington-app
Copy link

Thanks @Yhg1s for the PR 🌮🎉.. I'm working now to backport this PR to: 3.11.
🐍🍒⛏🤖

@miss-islington-app
Copy link

Thanks @Yhg1s for the PR 🌮🎉.. I'm working now to backport this PR to: 3.12.
🐍🍒⛏🤖

miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Nov 12, 2023
…1982)

Fix undefined behaviour in datetime.time.fromisoformat() when parsing a string without a timezone. 'tzoffset' is not assigned to by parse_isoformat_time if it returns 0, but time_fromisoformat then passes tzoffset to another function, which is undefined behaviour (even if the function in question does not use the value).
(cherry picked from commit 21615f7)

Co-authored-by: T. Wouters <thomas@python.org>
@bedevere-app
Copy link
bedevere-app bot commented Nov 12, 2023

GH-111991 is a backport of this pull request to the 3.11 branch.

@bedevere-app bedevere-app bot removed the needs backport to 3.11 only security fixes label Nov 12, 2023
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Nov 12, 2023
…1982)

Fix undefined behaviour in datetime.time.fromisoformat() when parsing a string without a timezone. 'tzoffset' is not assigned to by parse_isoformat_time if it returns 0, but time_fromisoformat then passes tzoffset to another function, which is undefined behaviour (even if the function in question does not use the value).
(cherry picked from commit 21615f7)

Co-authored-by: T. Wouters <thomas@python.org>
@bedevere-app
Copy link
bedevere-app bot commented Nov 12, 2023

GH-111992 is a backport of this pull request to the 3.12 branch.

@bedevere-app bedevere-app bot removed the needs backport to 3.12 only security fixes label Nov 12, 2023
Yhg1s added a commit that referenced this pull request Nov 12, 2023
…11982) (#111991)

Fix undefined behaviour in datetime.time.fromisoformat() (GH-111982)

Fix undefined behaviour in datetime.time.fromisoformat() when parsing a string without a timezone. 'tzoffset' is not assigned to by parse_isoformat_time if it returns 0, but time_fromisoformat then passes tzoffset to another function, which is undefined behaviour (even if the function in question does not use the value).
(cherry picked from commit 21615f7)

Co-authored-by: T. Wouters <thomas@python.org>
Yhg1s added a commit that referenced this pull request Nov 12, 2023
…11982) (#111992)

Fix undefined behaviour in datetime.time.fromisoformat() (GH-111982)

Fix undefined behaviour in datetime.time.fromisoformat() when parsing a string without a timezone. 'tzoffset' is not assigned to by parse_isoformat_time if it returns 0, but time_fromisoformat then passes tzoffset to another function, which is undefined behaviour (even if the function in question does not use the value).
(cherry picked from commit 21615f7)

Co-authored-by: T. Wouters <thomas@python.org>
aisk pushed a commit to aisk/cpython that referenced this pull request Feb 11, 2024
Fix undefined behaviour in datetime.time.fromisoformat() when parsing a string without a timezone. 'tzoffset' is not assigned to by parse_isoformat_time if it returns 0, but time_fromisoformat then passes tzoffset to another function, which is undefined behaviour (even if the function in question does not use the value).
Glyphack pushed a commit to Glyphack/cpython that referenced this pull request Sep 2, 2024
Fix undefined behaviour in datetime.time.fromisoformat() when parsing a string without a timezone. 'tzoffset' is not assigned to by parse_isoformat_time if it returns 0, but time_fromisoformat then passes tzoffset to another function, which is undefined behaviour (even if the function in question does not use the value).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants
0