We are currently migrating Bugzilla to GitHub issues.
Any changes made to the bug tracker now will be lost, so please do not post new bugs or make changes to them.
When we're done, all bug URLs will redirect to their equivalent location on the new bug tracker.

Bug 1580 - SDL_Touch::FreeTouch uninitialized
Summary: SDL_Touch::FreeTouch uninitialized
Status: RESOLVED FIXED
Alias: None
Product: SDL
Classification: Unclassified
Component: events (show other bugs)
Version: HG 2.0
Hardware: All All
: P2 critical
Assignee: Sam Lantinga
QA Contact: Sam Lantinga
URL:
Keywords: target-2.0.0
Depends on:
Blocks: 1581
  Show dependency treegraph
 
Reported: 2012-08-26 07:29 UTC by Alexander Hirsch
Modified: 2013-07-14 17:50 UTC (History)
2 users (show)

See Also:


Attachments
PARTIAL (!) fix (1.32 KB, patch)
2012-08-26 07:29 UTC, Alexander Hirsch
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Hirsch 2012-08-26 07:29:41 UTC
Created attachment 936 [details]
PARTIAL (!) fix

Several event-implementations do not set SDL_Touch::FreeTouch. Attempts to call it result in crashes (or undefined behavior).
In fact, only the Android-implementation nulls the SDL_Touch before operating on it. I do not know Obj-C, so I can't judge (or fix if necessary) the Cocoa and UIKit implementations.

The attached (possibly) PARTIAL patch nulls the SDL_Touch-es for Windows and both X11 input implementations before accessing it.
The Cocoa and UIKit implementations might still need fixing if Obj-C does not automatically null struct-allocations on the stack.
I did not find any other places that (might) need this fixed. I did a "grep SDL_AddTouch src/**/*(.)" (<3 zsh), so I'm pretty sure these are all.

Please also note that I've only tested the XInput 2 implementation, but since the changes made for the individual input implementations are trivial I have no reason to believe that the other changed implementations suffer any regressions.
Comment 1 Ryan C. Gordon 2013-07-12 22:15:26 UTC
(Sorry if you get a lot of copies of this email, we're touching dozens of bug reports right now.)

Tagging a bunch of bugs as target-2.0.0, Priority 2.

This means we're in the final stretch for an official SDL 2.0.0 release! These are the bugs we really want to fix before shipping if humanly possible.

That being said, we don't promise to fix them because of this tag, we just want to make sure we don't forget to deal with them before we bless a final 2.0.0 release, and generally be organized about what we're aiming to ship.

Hopefully you'll hear more about this bug soon. If you have more information (including "this got fixed at some point, nevermind"), we would love to have you come add more information to the bug report when you have a moment.

Thanks!
--ryan.
Comment 2 (disabled) Jørgen Tjernø 2013-07-14 17:50:00 UTC
Should no longer be a problem after Sam's change http://hg.libsdl.org/SDL/rev/7833f01322b3