Our website uses cookies to enhance your browsing experience.
Accept
to the top
>
>
>
Examples of errors detected by the...

Examples of errors detected by the V3020 diagnostic

V3020. An unconditional 'break/continue/return/goto' within a loop.


Neo

V3020 [CWE-670] An unconditional 'return' within a loop. RpcServer.Blockchain.cs 380

 [RpcMethodWithParams] protected internal virtual JToken GetCandidates() { .... foreach (var item in resultstack) { var value = (Array)item; foreach (Struct ele in value) { var publickey = ele[0].GetSpan().ToHexString(); json["publickey"] = publickey; json["votes"] = ele[1].GetInteger().ToString(); json["active"] = validators.ToByteArray() .ToHexString() .Contains(publickey); jArray.Add(json); json = new(); } return jArray; // <= } .... } 

NorthStar

V3020 [CWE-670] An unconditional 'return' within a loop. MemberLinkDrawer.cs 162

 string MemberLabel(string memberName) { foreach (var memberInfo in currObject.GetType().GetMember(memberName)) { if (memberInfo is MethodInfo methodInfo && !methodInfo.Name.StartsWith("get_") && !methodInfo.Name.StartsWith("set_")) { memberName = $"{memberName}()"; } return $"{memberInfo.DeclaringType?.Name}.{memberName}"; } return memberName; } 

RocketMan

V3020 [CWE-670] An unconditional 'break' within a loop. PokeInteractor.cs 300

 protected override void DoSelectUpdate(....) { .... while (!outsideDelta) { float horizontalDelta = Vector3.Project(....).magnitude; if (....) { outsideDelta = true; break; } float verticalDelta = Vector3.Project(....).magnitude; if (....) { outsideDelta = true; break; } break; // <= } .... } 

nopCommerce

V3020 An unconditional 'return' within a loop. ConcurrentTrie.cs 230

 protected virtual TrieNode GetOrAddNode(ReadOnlySpan<char> key, TValue value, bool overwrite = false) { .... while (!node.IsDeleted && node.Children.TryGetValue(c, out nextNode)) { var label = nextNode.Label.AsSpan(); var i = GetCommonPrefixLength(label, suffix); // suffix starts with label? if (i == label.Length) { // if the keys are equal, the key has already been inserted if (i == suffix.Length) { if (overwrite) nextNode.SetValue(value); return nextNode; } // structure has changed since last; try again break; } .... return outNode; // <= } .... } 

SanAndreasUnity

V3020 An unconditional 'break' within a loop. LatencySimulation.cs 220

 public override void ClientLateUpdate() { while (reliableClientToServer.Count > 0) { QueuedMessage message = reliableClientToServer[0]; if (message.time <= Time.unscaledTime) { wrap.ClientSend(new ArraySegment<byte>(message.bytes), Channels.Reliable); reliableClientToServer.RemoveAt(0); } break; } .... } 

SanAndreasUnity

V3020 An unconditional 'break' within a loop. PlayerController.cs 258

 private void OnDrawGizmosSelected() { .... var vehicles = FindObjectsOfType<Vehicle>() .Where(....) .OrderBy(....) .ToArray(); foreach (var vehicle in vehicles) { foreach (var seat in vehicle.Seats){....} var closestSeat = vehicle.GetSeatAlignmentOfClosestSeat(transform.position); if (closestSeat != Vehicle.SeatAlignment.None){....} break; } } 

Orleans

V3020 An unconditional 'return' within a loop. OrleansGeneratedCodeHelper.cs 99

 public static TService UnwrapService<TService>(object caller, TService service) { while ( service is IServiceHolder<TService> && caller is TService callerService) { return callerService; } .... } 

Orleans

V3020 An unconditional 'return' within a loop. InMemoryTransportListenerFactory.cs 117

 public async ValueTask<ConnectionContext> AcceptAsync(....) { if (await _acceptQueue.Reader.WaitToReadAsync(....)) { while (_acceptQueue.Reader.TryRead(out var item)) { var remoteConnectionContext = item.Connection; var localConnectionContext = .... item.ConnectionAcceptedTcs.TrySetResult(true); return localConnectionContext; // <= } } return null; } 

LINQ to DB

V3020 An unconditional 'return' within a loop. QueryRunner.cs 751

 static T ExecuteElement<T>( Query query, IDataContext dataContext, Mapper<T> mapper, Expression expression, object?[]? ps, object?[]? preambles) { using (var runner = dataContext.GetQueryRunner(query, 0, expression, ps, preambles)) { using (var dr = runner.ExecuteReader()) { while (dr.Read()) { var value = mapper.Map(dataContext, runner, dr); runner.RowsCount++; return value; } } return Array<T>.Empty.First(); } } 

Telerik UI for UWP

V3020 An unconditional 'break' within a loop. NodePool.cs 189

 public IEnumerable<KeyValuePair<int, List<T>>> GetUnfrozenDisplayedElements() { foreach (var item in this.generatedContainers) { foreach (var pair in item.Value) { if (!pair.IsFrozen) { yield return item; } break; } } } 

FastReport

V3020 An unconditional 'return' within a loop. CodeUtils.cs 262

 public static string GetExpression(FindTextArgs args, bool skipStrings) { while (args.StartIndex < args.Text.Length) { if (!FindMatchingBrackets(args, skipStrings)) break; return args.FoundText; } return ""; } 

Infer.NET

V3020 An unconditional 'break' within a loop. Compiler DefaultFactorManager.cs 474

 private static Set<StochasticityPattern> IntersectPatterns(IEnumerable<StochasticityPattern> patterns) { Set<StochasticityPattern> result = new Set<StochasticityPattern>(); result.AddRange(patterns); bool changed; do { int count = result.Count; AddIntersections(result); changed = (result.Count != count); break; } while (changed); return result; } 

Similar errors can be found in some other places:

  • V3020 An unconditional 'break' within a loop. Visualizers.Windows FactorManagerView.cs 350

Unity C# reference source code

V3020 CWE-670 An unconditional 'return' within a loop. PolygonCollider2DEditor.cs 96

 private void HandleDragAndDrop(Rect targetRect) { .... foreach (....) { .... if (....) { .... } return; } .... } 

Media Portal 2

V3020 An unconditional 'break' within a loop. XmlCacheProvider.cs 433

 public TvdbSeries LoadSeriesFromCache(int seriesId) { .... foreach (TvdbEpisode e in series.Episodes.Where(....)) { if (epImageFile.Contains("thumb")) e.Banner.LoadThumb(Image.FromFile(epImageFile)); else e.Banner.LoadBanner(Image.FromFile(epImageFile)); break; } .... } 

Mono

V3020 An unconditional 'throw' within a loop. System.Data.Linq-net_4_x XmlMappingSource.cs 180

 public void ReadEmptyContent(XmlReader r, string name) { .... for (r.MoveToContent(); r.NodeType != XmlNodeType.EndElement; r.MoveToContent()) { if (r.NamespaceURI != DbmlNamespace) r.Skip(); throw UnexpectedItemError(r); // <= } .... } 

FlashDevelop

V3020 An unconditional 'break' within a loop. AirWizard.cs 1760

 private void ExtensionBrowseButton_Click(....) { .... foreach (var existingExtension in _extensions) { if (existingExtension.ExtensionId == extensionId) extension = existingExtension; break; } .... } 

Space Engineers

V3020 An unconditional 'continue' within a loop. Sandbox.Game MyRenderComponentThrust.cs 109

 public override void Draw() { .... foreach (var flame in m_thrust.Flames) { if (m_thrust.CubeGrid.Physics == null) continue; .... if (m_landingEffect != null) { m_landingEffect.Stop(true); m_landingEffect = null; --m_landingEffectCount; } continue; // <= .... if (m_landingEffect == null) continue; .... } } 

.NET Core Libraries (CoreFX)

V3020 An unconditional 'return' within a loop. Enumerable.cs 517

 public override bool MoveNext() { switch (state) { case 1: _enumerator = _source.GetEnumerator(); state = 2; goto case 2; case 2: while (_enumerator.MoveNext()) { current = _selector(_enumerator.Current); return true; } Dispose(); break; } return false; } 

Similar errors can be found in some other places:

  • V3020 An unconditional 'return' within a loop. JsonDataContract.cs 128