#1931 Resolves issue where P25 Phase 2 L3Harris Patch Group message incorrectly includes Talkgroup/Radio identifiers incorrectly parsed from the subsequent message. Updated code to respect the self-reported message octet length and also to test for correct length before adding patch group member talkgroup and radio identifiers. (#1932)

Co-authored-by: Dennis Sheirer <dsheirer@github.com>
This commit is contained in:
Denny Sheirer
2024-06-01 06:38:38 -04:00
committed by GitHub
parent 2af3e992a1
commit 14a7b040f9
4 changed files with 66 additions and 46 deletions

View File

@@ -22,12 +22,11 @@ import io.github.dsheirer.source.ISourceEventProcessor;
import io.github.dsheirer.source.InvalidFrequencyException;
import io.github.dsheirer.source.SourceEvent;
import io.github.dsheirer.source.SourceException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.locks.ReentrantLock;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class FrequencyController
{
@@ -341,22 +340,24 @@ public class FrequencyController
public void broadcast(SourceEvent event) throws SourceException
{
mTunable.getLock().lock();
try
if(mTunable != null)
{
for(ISourceEventProcessor processor : mProcessors)
mTunable.getLock().lock();
try
{
processor.process(event);
for(ISourceEventProcessor processor : mProcessors)
{
processor.process(event);
}
}
finally
{
mTunable.getLock().unlock();
}
}
finally
{
mTunable.getLock().unlock();
}
}
public interface Tunable
{
/**