Răsfoiți Sursa

speculative : fix out-of-bounds access (#10289)

Georgi Gerganov 1 an în urmă
părinte
comite
2a82891a85
1 a modificat fișierele cu 3 adăugiri și 2 ștergeri
  1. 3 2
      examples/speculative/speculative.cpp

+ 3 - 2
examples/speculative/speculative.cpp

@@ -267,11 +267,12 @@ int main(int argc, char ** argv) {
                         for (size_t i = 0; i < dist_tgt.size; i++) {
                         for (size_t i = 0; i < dist_tgt.size; i++) {
                             if (dist_tgt.data[i].id == drafts[s].tokens[i_dft]) {
                             if (dist_tgt.data[i].id == drafts[s].tokens[i_dft]) {
                                 p_tgt = dist_tgt.data[i].p;
                                 p_tgt = dist_tgt.data[i].p;
+                                break;
                             }
                             }
+                        }
+                        for (size_t i = 0; i < dist_dft.size; i++) {
                             if (dist_dft.data[i].id == drafts[s].tokens[i_dft]) {
                             if (dist_dft.data[i].id == drafts[s].tokens[i_dft]) {
                                 p_dft = dist_dft.data[i].p;
                                 p_dft = dist_dft.data[i].p;
-                            }
-                            if (p_tgt && p_dft) {
                                 break;
                                 break;
                             }
                             }
                         }
                         }