Why do you use goto? :-k
And why do you declare the var in the middle of your program?
(Perhaps thats why i never discovered such a problem.)
Sometimes it is convenient to use goto, as is declaring variables closer to where they are being used. Being able to declare variables that way was introduced in the C99 standard as it is popular I guess.
Without a goto one either has to duplicate cleanup code or have more IF's causing sometimes deeply indented code.
Of course that little snippet posted above is a simple case but when a function is two hundred lines and one needs to cleanup at various places it is easy to make that mistake.
John