https://bugs.winehq.org/show_bug.cgi?id=39483
Bug ID: 39483 Summary: Logically dead code in stub_manager_new_ifstub (Coverity #731556) Product: Wine Version: 1.7.53 Hardware: x86 OS: Linux Status: NEW Severity: normal Priority: P2 Component: ole32 Assignee: wine-bugs@winehq.org Reporter: alexhenrie24@gmail.com Distribution: ---
dead_error_condition: The condition flags & MSHLFLAGS_NORMAL cannot be true.
CID 731556 (#1 of 1): Logically dead code (DEADCODE) dead_error_line: Execution cannot reach this statement: m->norm_refs++;
https://bugs.winehq.org/show_bug.cgi?id=39483
Alex Henrie alexhenrie24@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |adam.r.martinson@gmail.com, | |bunglehead@gmail.com, | |fgouget@codeweavers.com, | |marcus@jet.franken.de
https://bugs.winehq.org/show_bug.cgi?id=39483
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|bunglehead@gmail.com |
--- Comment #1 from Nikolay Sivov bunglehead@gmail.com --- This needs to reference affected code in some way, otherwise it's useless without Coverity access.
https://bugs.winehq.org/show_bug.cgi?id=39483
--- Comment #2 from Alex Henrie alexhenrie24@gmail.com --- It's obvious that this function is doing something wrong, because MSHLFLAGS_NORMAL is defined to be 0 and (flags & 0) can never be true. Take a look: https://source.winehq.org/git/wine.git/blob/65d699eb5f7fc151197f3dc9f36499ee...
I would fix it myself, but I am not sure what this function is supposed to do.
https://bugs.winehq.org/show_bug.cgi?id=39483
Alex Henrie alexhenrie24@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://bugs.winehq.org/sho | |w_bug.cgi?id=39484
https://bugs.winehq.org/show_bug.cgi?id=39483
--- Comment #3 from François Gouget fgouget@codeweavers.com --- Hmmm, the referenced line (1112) does not exist (last line is 839)!
https://bugs.winehq.org/show_bug.cgi?id=39483
--- Comment #4 from Alex Henrie alexhenrie24@gmail.com --- That's an L, not a 1. Line 112.
https://bugs.winehq.org/show_bug.cgi?id=39483
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |source
--- Comment #5 from François Gouget fgouget@codeweavers.com --- Sorry about the line number. So this code was added by the following commit:
commit 611b5acbf8263f14292eaca6be175b557c6a9d35 Author: Alexandre Julliard julliard@winehq.org Date: Fri Sep 2 11:18:45 2005 +0000
Authors: Mike Hearn mh@codeweavers.com, Robert Shearman rob@codeweavers.com Change stub manager to track the number of normal marshals instead of using the state machine so that multiple marshals of the same object and interface work correctly.
Interestingly Marcus already submitted a patch for this last may: https://www.winehq.org/pipermail/wine-patches/2015-May/139094.html
His patch got rejected, probably because it causes tests/marshal.c to crash. But I don't know anything about that code either so someone else will have to figure it out.
https://bugs.winehq.org/show_bug.cgi?id=39483
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |DUPLICATE
--- Comment #6 from François Gouget fgouget@codeweavers.com --- The stub_manager_new_ifstub() and stub_manager_notify_unmarshal() cases really cannot be dealt with separately. So I'm closing this bug as a duplicate of bug 39484 since the latter has more information.
*** This bug has been marked as a duplicate of bug 39484 ***
https://bugs.winehq.org/show_bug.cgi?id=39483
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #7 from Austin English austinenglish@gmail.com --- Closing.