Let's say Person A creates some code and licenses it under a GPL license. If someone (we'll call them Person B) then creates code which derives from Person A's code, but fails to obey the terms of the license and mark their modified code in a GPL compliant fashion, they're at fault and can be held accountable for that.
However, what happens if Person B, prior to being held accountable, tells a new person, Person C, that they can use their code with no restrictions? Person B is at fault for disobeying the license they were presented with, but Person C had no reasonable way of knowing that the code Person B gave them permission to use wasn't actually theirs to give permission for.
What happens to Person C's code in this situation? Are they forced to obey the terms of the license that were not at all communicated to them because of Person B's breach of the license? Or are they somehow exempt from it because they weren't presented with the correct license? What rights does Person A have, and what rights does Person C have?
This is an actual situation I'm dealing with, and I'm not sure how to proceed.