From: Neal Norwitz Date: Sun, 6 Jun 2004 20:13:10 +0000 (+0000) Subject: Valgrind was reporting an uninitialized read for bad input. X-Git-Tag: v2.4a1~240 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fe92eef85b081640e20b787c99282544e148fc1c;p=python Valgrind was reporting an uninitialized read for bad input. This fixes the problem and the test passes. I'm not sure the test is really correct though. It seems like it would be better to raise an exception. I think that wasn't done for backwards compatability. Bugfix candidate. --- diff --git a/Modules/binascii.c b/Modules/binascii.c index 9cc49f6905..f1f961516a 100644 --- a/Modules/binascii.c +++ b/Modules/binascii.c @@ -204,7 +204,8 @@ binascii_a2b_uu(PyObject *self, PyObject *args) bin_data = (unsigned char *)PyString_AsString(rv); for( ; bin_len > 0 ; ascii_len--, ascii_data++ ) { - this_ch = *ascii_data; + /* XXX is it really best to add NULs if there's no more data */ + this_ch = (ascii_len > 0) ? *ascii_data : 0; if ( this_ch == '\n' || this_ch == '\r' || ascii_len <= 0) { /* ** Whitespace. Assume some spaces got eaten at