raise bad_alloc if PyObject_Malloc returns NULL