Issue #14630: Fix an incorrect access of ob_digit[0] for a zero instance of an int subclass.
diff --git a/Objects/longobject.c b/Objects/longobject.c
index a0b16a6..a735e33 100644
--- a/Objects/longobject.c
+++ b/Objects/longobject.c
@@ -156,9 +156,7 @@
     if (i < 0)
         i = -(i);
     if (i < 2) {
-        sdigit ival = src->ob_digit[0];
-        if (Py_SIZE(src) < 0)
-            ival = -ival;
+        sdigit ival = MEDIUM_VALUE(src);
         CHECK_SMALL_INT(ival);
     }
     result = _PyLong_New(i);