ref: ee29d2cef8988a46ce7819172cc382f603832232
parent: 52807a0cacac4d4d1f71cb37a89ab3b1e8087bc9
author: Ori Bernstein <[email protected]>
date: Thu Nov 23 16:53:21 EST 2023
check: recognize all valid messages
--- a/check.c
+++ b/check.c
@@ -120,11 +120,6 @@
for(i = 1; i < b->nbuf; i++){
getmsg(b, i, &my);
switch(my.op){
- case Oinsert: /* new kvp */
- case Odelete: /* delete kvp */
- case Oclearb: /* delete bp if exists */
- case Oclobber: /* remove file if it exists */
- break;
case Owstat: /* kvp dirent */
if((my.v[0] & ~(Owsize|Owmode|Owmtime|Owatime|Owuid|Owgid|Owmuid)) != 0){
fprint(fd, "invalid stat op %x\n", my.v[0]);
@@ -132,8 +127,10 @@
}
break;
default:
- fprint(fd, "invalid message op %d\n", my.op);
- fail++;
+ if(my.op <= 0 || my.op >= Nmsgtype){
+ fprint(fd, "invalid message op %d\n", my.op);
+ fail++;
+ }
break;
}
if(hi && keycmp(&y, hi) > 0){