xref: /aosp_15_r20/external/pdfium/third_party/agg23/0012-infinite-loop.patch (revision 3ac0a46f773bac49fa9476ec2b1cf3f8da5ec3a4)
1*3ac0a46fSAndroid Build Coastguard Workerdiff --git a/third_party/agg23/agg_vcgen_dash.cpp b/third_party/agg23/agg_vcgen_dash.cpp
2*3ac0a46fSAndroid Build Coastguard Workerindex f690760b0..d44fca178 100644
3*3ac0a46fSAndroid Build Coastguard Worker--- a/third_party/agg23/agg_vcgen_dash.cpp
4*3ac0a46fSAndroid Build Coastguard Worker+++ b/third_party/agg23/agg_vcgen_dash.cpp
5*3ac0a46fSAndroid Build Coastguard Worker@@ -18,8 +18,11 @@
6*3ac0a46fSAndroid Build Coastguard Worker //
7*3ac0a46fSAndroid Build Coastguard Worker //----------------------------------------------------------------------------
8*3ac0a46fSAndroid Build Coastguard Worker
9*3ac0a46fSAndroid Build Coastguard Worker+#include <cmath>
10*3ac0a46fSAndroid Build Coastguard Worker+
11*3ac0a46fSAndroid Build Coastguard Worker #include "agg_shorten_path.h"
12*3ac0a46fSAndroid Build Coastguard Worker #include "agg_vcgen_dash.h"
13*3ac0a46fSAndroid Build Coastguard Worker+#include "third_party/base/check_op.h"
14*3ac0a46fSAndroid Build Coastguard Worker
15*3ac0a46fSAndroid Build Coastguard Worker namespace pdfium
16*3ac0a46fSAndroid Build Coastguard Worker {
17*3ac0a46fSAndroid Build Coastguard Worker@@ -60,6 +63,8 @@ void vcgen_dash::dash_start(float ds)
18*3ac0a46fSAndroid Build Coastguard Worker }
19*3ac0a46fSAndroid Build Coastguard Worker void vcgen_dash::calc_dash_start(float ds)
20*3ac0a46fSAndroid Build Coastguard Worker {
21*3ac0a46fSAndroid Build Coastguard Worker+    DCHECK_GT(m_total_dash_len, 0);
22*3ac0a46fSAndroid Build Coastguard Worker+    ds -= floor(ds / m_total_dash_len) * m_total_dash_len;
23*3ac0a46fSAndroid Build Coastguard Worker     m_curr_dash = 0;
24*3ac0a46fSAndroid Build Coastguard Worker     m_curr_dash_start = 0;
25*3ac0a46fSAndroid Build Coastguard Worker     while(ds > 0) {
26