Issue #21951: Use attemptckalloc() instead of ckalloc() in Tkinter.

ckalloc() causes the Tcl interpreter to panic, attemptckalloc() returns NULL
if the memory allocation fails.

--HG--
branch : 3.4
Issue #21951: Use attemptckalloc() instead of ckalloc() in Tkinter.

ckalloc() causes the Tcl interpreter to panic, attemptckalloc() returns NULL
if the memory allocation fails.
Issue #21951: Fixed a crash in Tkinter on AIX when called Tcl command with
empty string or tuple argument.

On some platforms Tcl memory allocator returns NULL when allocating zero-sized
block of memory.

--HG--
branch : 3.4
Issue #21951: Fixed a crash in Tkinter on AIX when called Tcl command with
empty string or tuple argument.

On some platforms Tcl memory allocator returns NULL when allocating zero-sized
block of memory.
Issue #13968: The glob module now supports recursive search in
 subdirectories using the "**" pattern.
Issue #21147: sqlite3 now raises an exception if the request contains a null
character instead of truncate it.  Based on patch by Victor Stinner.

--HG--
branch : 3.4
Issue #21147: sqlite3 now raises an exception if the request contains a null
character instead of truncate it.  Based on patch by Victor Stinner.
Issue #13968: Fixed newly added recursive glob test.
It was failed when run with non-empty current directory.
Closes #22336: attemptckalloc() with PyMem_Malloc() in _tkinter

The PyMem_Malloc(size) function has a well defined behaviour: if size is 0, a
pointer different than NULL is returned. PyMem_Malloc() allocations are
tracked by tracemalloc, attemptckalloc() allocations are not tracked.
Issue #22386: fixed regression.

--HG--
branch : 3.4
Closes #22386: merged fix from 3.4.