diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
index 3eac8d5..88656ca 100644
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -748,17 +748,14 @@
 	}
 	if (PyCode_Check(cmd))
 		return PyEval_EvalCode((PyCodeObject *) cmd, globals, locals);
-	if (!PyString_Check(cmd)) {
+	if (!PyString_Check(cmd) &&
+	    !PyUnicode_Check(cmd)) {
 		PyErr_SetString(PyExc_TypeError,
 			   "eval() argument 1 must be string or code object");
 		return NULL;
 	}
-	str = PyString_AsString(cmd);
-	if (strlen(str) != (size_t)PyString_Size(cmd)) {
-		PyErr_SetString(PyExc_ValueError,
-			   "embedded '\\0' in string arg");
+	if (PyString_AsStringAndSize(cmd, &str, NULL))
 		return NULL;
-	}
 	while (*str == ' ' || *str == '\t')
 		str++;
 	return PyRun_String(str, Py_eval_input, globals, locals);
diff --git a/Python/ceval.c b/Python/ceval.c
index 09ae132..491a73b 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -3042,6 +3042,7 @@
 	else if (locals == Py_None)
 		locals = globals;
 	if (!PyString_Check(prog) &&
+	    !PyUnicode_Check(prog) &&
 	    !PyCode_Check(prog) &&
 	    !PyFile_Check(prog)) {
 		PyErr_SetString(PyExc_TypeError,
@@ -3064,13 +3065,10 @@
 		v = PyRun_File(fp, name, Py_file_input, globals, locals);
 	}
 	else {
-		char *s = PyString_AsString(prog);
-		if (strlen(s) != (size_t)PyString_Size(prog)) {
-			PyErr_SetString(PyExc_ValueError,
-					"embedded '\\0' in exec string");
+		char *str;
+		if (PyString_AsStringAndSize(prog, &str, NULL))
 			return -1;
-		}
-		v = PyRun_String(s, Py_file_input, globals, locals);
+		v = PyRun_String(str, Py_file_input, globals, locals);
 	}
 	if (plain)
 		PyFrame_LocalsToFast(f, 0);
