Skip to content
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

Redundant NULL check in profile_trampoline function (sysmodule.c) #96715

Closed
chgnrdv opened this issue Sep 9, 2022 · 0 comments · Fixed by #96716
Closed

Redundant NULL check in profile_trampoline function (sysmodule.c) #96715

chgnrdv opened this issue Sep 9, 2022 · 0 comments · Fixed by #96716
Assignees

Comments

@chgnrdv
Copy link
Contributor

chgnrdv commented Sep 9, 2022

Code in profile_trampoline function checks if arg argument value is equal to NULL and in this case assigns Py_None to it

cpython/Python/sysmodule.c

Lines 954 to 956 in 88a7f66

if (arg == NULL) {
arg = Py_None;
}

The only place where arg is used in profile_trampoline is this call
PyObject *result = call_trampoline(tstate, self, frame, what, arg);

But similar check is already done by call_trampoline function
stack[2] = (arg != NULL) ? arg : Py_None;

My suggestion is to remove excess check from profile_trampoline.

Linked PRs

@chgnrdv chgnrdv added the type-bug An unexpected behavior, bug, or error label Sep 9, 2022
chgnrdv added a commit to chgnrdv/cpython that referenced this issue Sep 9, 2022
@iritkatriel iritkatriel removed the type-bug An unexpected behavior, bug, or error label Sep 11, 2022
carljm added a commit to carljm/cpython that referenced this issue Dec 14, 2022
* main: (103 commits)
  pythongh-100248: Add missing `ssl_shutdown_timeout` parameter in `asyncio` docs (python#100249)
  Assorted minor fixes for specialization stats. (pythonGH-100219)
  pythongh-100176: venv: Remove redundant compat code for Python <= 3.2 (python#100177)
  pythonGH-100222: Redefine _Py_CODEUNIT as a union to clarify structure of code unit. (pythonGH-100223)
  pythongh-99955: undef ERROR and SUCCESS before redefining (fixes sanitizer warning) (python#100215)
  pythonGH-100206: use versionadded for the addition of sysconfig.get_default_scheme (python#100207)
  pythongh-81057: Move _Py_RefTotal to the "Ignored Globals" List (pythongh-100203)
  pythongh-81057: Move Signal-Related Globals to _PyRuntimeState (pythongh-100085)
  pythongh-81057: Move faulthandler Globals to _PyRuntimeState (pythongh-100152)
  pythongh-81057: Move tracemalloc Globals to _PyRuntimeState (pythongh-100151)
  pythonGH-100143: Improve collecting pystats for parts of runs (pythonGH-100144)
  pythongh-99955: standardize return values of functions in compiler's code-gen (python#100010)
  pythongh-79218: Define `MS_WIN64` macro for Mingw-w64 64bit on Windows (pythonGH-100137)
  Fix: typo (Indention) (pythonGH-99904)
  pythongh-96715 Remove redundant NULL check in `profile_trampoline` function (python#96716)
  pythongh-100176: remove incorrect version compatibility check from argument clinic (python#100190)
  clarify the 4300-digit limit on int-str conversion (python#100175)
  pythongh-70393: Clarify mention of "middle" scope (python#98839)
  pythongh-99688: Fix outdated tests in test_unary (python#99712)
  pythongh-100174: [Enum] Correct PowersOfThree example. (pythonGH-100178)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants