Without wrapping the next two statements (free and return) into a code block "{}", the routing will always return at line 728. Then again w/o freeing outbuf if inbuf couldn't be allocated.