commit 4a3f20bceee7cef125f9a88bab32439f9fe4f773 from: Neven Sajko via: Russ Cox date: Mon Jan 13 19:41:28 2020 UTC cmd/yacc: do not create an out of bounds pointer An out of bounds pointer/array index being created is an error in standard C. Updates #313 Change-Id: I7108fcde1a8e03017e9ab852adb737940489c827 commit - 7ba9f9467d95fa8d05bb04d36fd4c602e497f529 commit + 4a3f20bceee7cef125f9a88bab32439f9fe4f773 blob - 32990f62beea56c9df70c3315e0cc2260a7cd166 blob + 5db36d04b419e0e4a9596c0aee1060f1bbfd370d --- src/cmd/yacc.c +++ src/cmd/yacc.c @@ -2819,8 +2819,9 @@ stin(int i) for(n = -maxoff; n < ACTSIZE; n++) { flag = 0; for(r = q1; r < q2; r += 2) { - if((s = *r + n + amem) < amem) + if(*r + n < 0) goto nextn; + s = *r + n + amem; if(*s == 0) flag++; else