Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Random fixes found with clang/gcc sanitizers #10063

Merged
merged 8 commits into from Jul 17, 2016
Merged

Conversation

neo1973
Copy link
Member

@neo1973 neo1973 commented Jul 2, 2016

This fixes are pretty simple, but they maybe have side effects I'm not aware of. If you are interested in the sanitizers error messages which lead to these patches, I can try to reproduce them.

@MartijnKaijser
Copy link
Member

jenkins build this please

{
while(!Wait(100, source))
{
if(abort && *abort)
if(abort && abort)

This comment was marked as spam.

@fritsch
Copy link
Member

fritsch commented Jul 3, 2016

@FernetMenta c2239eb - could you look at that one. Programmatically he is right of course, though our classes have a non general usage, so that might be overkill.

~EntryList()
{
Flush();
}

This comment was marked as spam.

This comment was marked as spam.

@neo1973
Copy link
Member Author

neo1973 commented Jul 3, 2016

Thanks for the review! I will address the issues and resubmit the pull request.

@FernetMenta
Copy link
Contributor

I will address the issues and resubmit the pull request.

no need to resubmit. pull requests do observe changes of you branch

@neo1973
Copy link
Member Author

neo1973 commented Jul 16, 2016

I did a rebase against master because of a merge conflict. I also removed the commits which where wrong and fixed up small mistakes in others. @fritsch about a850e05: I'm not sure if a folder with n elements could have n parents, but during debugging this never happened.

@fritsch
Copy link
Member

fritsch commented Jul 16, 2016

@neo1973 thx much - that question was an academic question, as when we would know - it would make the code much more easy, but fine as is.

@MartijnKaijser
Copy link
Member

jenkins build this please

@MartijnKaijser MartijnKaijser added this to the Krypton 17.0-alpha3 milestone Jul 16, 2016
@MartijnKaijser MartijnKaijser added the Type: Fix non-breaking change which fixes an issue label Jul 16, 2016
@fritsch
Copy link
Member

fritsch commented Jul 16, 2016

@FernetMenta your concerns adressed?

@Paxxi
Copy link
Member

Paxxi commented Jul 16, 2016

I'm apparently a bit late to the party so feel free to ignore my comments

@@ -69,7 +69,7 @@ bool CKeyboardLayout::Load(const TiXmlElement* element)

const TiXmlElement *keyboard = element->FirstChildElement("keyboard");
if (element->Attribute("codingtable"))
m_codingtable = CInputCodingTableFactory::CreateCodingTable(element->Attribute("codingtable"), element);
m_codingtable = IInputCodingTablePtr(CInputCodingTableFactory::CreateCodingTable(element->Attribute("codingtable"), element));

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

@neo1973
Copy link
Member Author

neo1973 commented Jul 16, 2016

No problem @Paxxi, I did the changes you suggested.

The order of arguments to the NPT_LogHandler::Create method was wrong.
Because of that the m_LogHandler variable was set to null. This lead to
a null pointer derefernce in the following line (which for unknown reasons
didn't crash the program).
…_bStop

volatile does not make a variable thread save, but std::atomic does. This
change made other changes necessary, hence the many changed files.
@FernetMenta
Copy link
Contributor

FernetMenta your concerns adressed?

looks ok

@MartijnKaijser
Copy link
Member

jenkins build and merge

@MartijnKaijser MartijnKaijser merged commit 0dd39fc into xbmc:master Jul 17, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Fix non-breaking change which fixes an issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants