containing an error code.
Allow these functions to convey the reason of the failure to the
calling function, failure which is not always due to a parsing error
but it may depend for example on a memory problem.
Also fix several potential memleaks.
Originally committed as revision 23402 to svn://svn.ffmpeg.org/ffmpeg/trunk