invalid, rather than returning a string of random garbage of the
estimated result length. Closes SF patch #703471 by Hye-Shik Chang.
Will backport to 2.2-maint (consider it done.)
res = res + b
verify(res == testdata)
+# Test base64 with just invalid characters, which should return
+# empty strings. TBD: shouldn't it raise an exception instead ?
+verify(binascii.a2b_base64(fillers) == '')
+
# Test uu
print "uu test"
MAX_UU = 45
return NULL;
}
- /* and set string size correctly */
+ /* And set string size correctly. If the result string is empty
+ ** (because the input was all invalid) return the shared empty
+ ** string instead; _PyString_Resize() won't do this for us.
+ */
if (bin_len > 0)
_PyString_Resize(&rv, bin_len);
+ else {
+ Py_DECREF(rv);
+ rv = PyString_FromString("");
+ }
return rv;
}