shithub: gefs

Download patch

ref: ee29d2cef8988a46ce7819172cc382f603832232
parent: 52807a0cacac4d4d1f71cb37a89ab3b1e8087bc9
author: Ori Bernstein <ori@eigenstate.org>
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){