DF-0732 / run.sh
#!/bin/sh # DF-0732 run: execute both race scenarios on BUGGY then on FIXED. # BUGGY must print "GROW RACE OOB WRITE CONFIRMED" and "SHRINK RACE UNINIT LEAK CONFIRMED". # FIXED must print "GROW RACE: NOT TRIGGERED" and "SHRINK RACE: NOT TRIGGERED". # NOTE: the harness returns nonzero when it CONFIRMS a race (buggy build) โ that # is the EXPECTED signal, so we must NOT `set -e`. The printed markers are the # real pass/fail signal: # BUGGY -> "GROW RACE OOB WRITE CONFIRMED" + "SHRINK RACE UNINIT LEAK CONFIRMED" # FIXED -> "GROW RACE: NOT TRIGGERED" + "SHRINK RACE: NOT TRIGGERED" cd "$(dirname "$0")" echo "############################################################" echo "# BUGGY transcription (matches sys/netproto/802_11/wlan_acl/ieee80211_acl.c)" echo "############################################################" echo echo "===== BUGGY: GROW race (N=8 K=4) โ expect OOB WRITE =====" ./harness grow 8 4 echo echo "===== BUGGY: SHRINK race (N=8 K=4) โ expect UNINIT LEAK =====" ./harness shrink 8 4 echo echo "############################################################" echo "# FIXED transcription (lock-before-read :313 + M_ZERO :319 + bounded foreach :329)" echo "############################################################" echo echo "===== FIXED: GROW race (N=8 K=4) โ expect NOT TRIGGERED =====" ./harness_fixed grow 8 4 echo echo "===== FIXED: SHRINK race (N=8 K=4) โ expect NOT TRIGGERED =====" ./harness_fixed shrink 8 4 echo echo "############################################################" echo "Run complete." |