Change int to Py_ssize_t in several places.
Add (int) casts to silence compiler warnings.
Raise Python exceptions for overflows.
diff --git a/Python/exceptions.c b/Python/exceptions.c
index 5dec197..b146c97 100644
--- a/Python/exceptions.c
+++ b/Python/exceptions.c
@@ -764,7 +764,7 @@
 SyntaxError__init__(PyObject *self, PyObject *args)
 {
     PyObject *rtnval = NULL;
-    int lenargs;
+    Py_ssize_t lenargs;
 
     if (!(self = get_self(args)))
 	return NULL;
@@ -889,7 +889,7 @@
 	    PyErr_Clear();
 
 	if (have_filename || have_lineno) {
-	    int bufsize = PyString_GET_SIZE(str) + 64;
+	    Py_ssize_t bufsize = PyString_GET_SIZE(str) + 64;
 	    if (have_filename)
 		bufsize += PyString_GET_SIZE(filename);