In the error handling code, the dc_buffer_free() function can be called with an unitialized "buffer" variable as parameter. Fixed by adding an extra label. Reported-By: Linus Torvalds <torvalds@linux-foundation.org>