bpf_program__set_flags(prog, prog_flags | spec->prog_flags);
 
        tester->log_buf[0] = '\0';
-       tester->next_match_pos = 0;
 }
 
 static void emit_verifier_log(const char *log_buf, bool force)
                          struct bpf_program *prog,
                          int load_err)
 {
-       int i, j, err;
-       char *match;
        regmatch_t reg_match[1];
+       const char *log = tester->log_buf;
+       int i, j, err;
 
        for (i = 0; i < subspec->expect_msg_cnt; i++) {
                struct expect_msg *msg = &subspec->expect_msgs[i];
+               const char *match = NULL;
 
                if (msg->substr) {
-                       match = strstr(tester->log_buf + tester->next_match_pos, msg->substr);
+                       match = strstr(log, msg->substr);
                        if (match)
-                               tester->next_match_pos = match - tester->log_buf + strlen(msg->substr);
+                               log += strlen(msg->substr);
                } else {
-                       err = regexec(&msg->regex,
-                                     tester->log_buf + tester->next_match_pos, 1, reg_match, 0);
+                       err = regexec(&msg->regex, log, 1, reg_match, 0);
                        if (err == 0) {
-                               match = tester->log_buf + tester->next_match_pos + reg_match[0].rm_so;
-                               tester->next_match_pos += reg_match[0].rm_eo;
-                       } else {
-                               match = NULL;
+                               match = log + reg_match[0].rm_so;
+                               log += reg_match[0].rm_eo;
                        }
                }