calendar.isleap - AddressSanitizer: allocation-size-too-big · Issue #136197 · python/cpython · GitHub | Latest TMZ Celebrity News & Gossip | Watch TMZ Live
Skip to content

calendar.isleap - AddressSanitizer: allocation-size-too-big #136197

Closed as duplicate of#136198
@gvozdila

Description

@gvozdila

Bug description:

import calendar

data=str("%%opt'AqPTIL*eyxQ3q0^xmT%888888888888888884hXT6B83eOU6IEF4f*cWKJyvxoHbjgDaohunN#Tnk&yS0iKAo&nQZ7v4yC6B83eOU6IEF4f*cWKJyvxoHbjgDaohunN%&$%b'ZkZZq0Yk2HowI$JzTqE3wVf2&wka(rm#KNfOU*Dqu)4F#Tnk&yS0inds)ZAu6q^t%#KBxkZKAo&nQu*uZ7(4m^Umh8*ndCQp0&zqQ#d*A'2Zt6fL7QUGK@M^Ll&(&pTDrhE8dFSTlQ^taN'")

ret = calendar.isleap(data)

When building cpython without sanitizers, there will be a MemoryError.
It looks like the problem is in implicit type conversion. Tested for versions from 3.7 to 3.15

Below is the output of ASAN when building with --with-pydebug

    #0 0x61165a914395 in __interceptor_realloc (/usr/local/bin/python3.15+0x763395) (BuildId: 510e01f0876b564331a25fd250bbf68603637192)
    #1 0x61165ad54653 in _PyMem_DebugRawRealloc /root/cpython/Objects/obmalloc.c:3010:20
    #2 0x61165aeaa285 in resize_compact /root/cpython/Objects/unicodeobject.c:1197:31
    #3 0x61165ae392ac in _PyUnicodeWriter_PrepareInternal /root/cpython/Objects/unicodeobject.c:13824:25
    #4 0x61165aeb4d87 in unicode_format_arg_output /root/cpython/Objects/unicodeobject.c:15345:9
    #5 0x61165aeb4d87 in unicode_format_arg /root/cpython/Objects/unicodeobject.c:15449:15
    #6 0x61165aeb4d87 in PyUnicode_Format /root/cpython/Objects/unicodeobject.c:15522:17
    #7 0x61165aaebb2c in binary_op1 /root/cpython/Objects/abstract.c:964:13
    #8 0x61165aaeb1db in binary_op /root/cpython/Objects/abstract.c:1003:24
    #9 0x61165b0a774a in _PyEval_EvalFrameDefault /root/cpython/Python/generated_cases.c.h:62:35
    #10 0x61165b070ad6 in _PyEval_EvalFrame /root/cpython/./Include/internal/pycore_ceval.h:119:16
    #11 0x61165b070ad6 in _PyEval_Vector /root/cpython/Python/ceval.c:1975:12
    #12 0x61165b06feab in PyEval_EvalCode /root/cpython/Python/ceval.c:866:21
    #13 0x61165b2fe6dd in run_eval_code_obj /root/cpython/Python/pythonrun.c:1365:12
    #14 0x61165b2fe6dd in run_mod /root/cpython/Python/pythonrun.c:1436:19
    #15 0x61165b2f6430 in _PyRun_StringFlagsWithName /root/cpython/Python/pythonrun.c:1259:15
    #16 0x61165b2f6430 in _PyRun_SimpleStringFlagsWithName /root/cpython/Python/pythonrun.c:578:15
    #17 0x61165b3a0cf2 in pymain_run_command /root/cpython/Modules/main.c:261:11
    #18 0x61165b3a0cf2 in pymain_run_python /root/cpython/Modules/main.c:682:21
    #19 0x61165b3a0cf2 in Py_RunMain /root/cpython/Modules/main.c:772:5
    #20 0x61165b3a3816 in pymain_main /root/cpython/Modules/main.c:802:12
    #21 0x61165b3a3aed in Py_BytesMain /root/cpython/Modules/main.c:826:12
    #22 0x797a1235e249 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16

==122==HINT: if you don't care about these errors you may set allocator_may_return_null=1
SUMMARY: AddressSanitizer: allocation-size-too-big (/usr/local/bin/python3.15+0x763395) (BuildId: 510e01f0876b564331a25fd250bbf68603637192) in __interceptor_realloc

Bug was found using https://github.com/awen-li/PyRTFuzz

CPython versions tested on:

CPython main branch

Operating systems tested on:

Linux

Metadata

Metadata

Assignees

No one assigned

    Labels

    type-bugAn unexpected behavior, bug, or error

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      TMZ Celebrity News – Breaking Stories, Videos & Gossip

      Looking for the latest TMZ celebrity news? You've come to the right place. From shocking Hollywood scandals to exclusive videos, TMZ delivers it all in real time.

      Whether it’s a red carpet slip-up, a viral paparazzi moment, or a legal drama involving your favorite stars, TMZ news is always first to break the story. Stay in the loop with daily updates, insider tips, and jaw-dropping photos.

      🎥 Watch TMZ Live

      TMZ Live brings you daily celebrity news and interviews straight from the TMZ newsroom. Don’t miss a beat—watch now and see what’s trending in Hollywood.