diff --git a/Misc/NEWS b/Misc/NEWS
index 1ec7695..2226e8a 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -67,6 +67,9 @@
 Library
 -------
 
+- Issue #3302: Fix several crashes when calling locale's gettext functions
+  with None arguments.
+
 - Issue #3389: Allow resolving dotted names for handlers in logging
   configuration files.
 
diff --git a/Modules/_localemodule.c b/Modules/_localemodule.c
index 09e04ef..09c025f 100644
--- a/Modules/_localemodule.c
+++ b/Modules/_localemodule.c
@@ -586,7 +586,7 @@
 PyIntl_gettext(PyObject* self, PyObject *args)
 {
 	char *in;
-	if (!PyArg_ParseTuple(args, "z", &in))
+	if (!PyArg_ParseTuple(args, "s", &in))
 		return 0;
 	return PyString_FromString(gettext(in));
 }
@@ -599,7 +599,7 @@
 PyIntl_dgettext(PyObject* self, PyObject *args)
 {
 	char *domain, *in;
-	if (!PyArg_ParseTuple(args, "zz", &domain, &in))
+	if (!PyArg_ParseTuple(args, "zs", &domain, &in))
 		return 0;
 	return PyString_FromString(dgettext(domain, in));
 }
@@ -613,7 +613,7 @@
 {
 	char *domain, *msgid;
 	int category;
-	if (!PyArg_ParseTuple(args, "zzi", &domain, &msgid, &category))
+	if (!PyArg_ParseTuple(args, "zsi", &domain, &msgid, &category))
 		return 0;
 	return PyString_FromString(dcgettext(domain,msgid,category));
 }
@@ -643,9 +643,13 @@
 static PyObject*
 PyIntl_bindtextdomain(PyObject* self,PyObject*args)
 {
-	char *domain,*dirname;
-	if (!PyArg_ParseTuple(args, "zz", &domain, &dirname))
+	char *domain, *dirname;
+	if (!PyArg_ParseTuple(args, "sz", &domain, &dirname))
 		return 0;
+	if (!strlen(domain)) {
+		PyErr_SetString(Error, "domain must be a non-empty string");
+		return 0;
+	}
 	dirname = bindtextdomain(domain, dirname);
 	if (!dirname) {
 		PyErr_SetFromErrno(PyExc_OSError);
