code: mafs

Download patch

ref: 194a2072349c964f18ad8dff41cc97fb6d9b087b
parent: 7288138f121ce4bb74c3678c5f4d3817a68b995f
author: 9ferno <gophone2015@gmail.com>
date: Tue Nov 8 10:57:38 EST 2022

double check that we are not trying to make a jumbo packet with too many write buffers

--- a/writer.c
+++ b/writer.c
@@ -150,7 +150,7 @@
 			n = 1;
 			prevblkno = startblkno = drts.head->blkno;
 			for(b = drts.head->next;
-					b != nil && b->blkno == prevblkno+1 && n < 128;
+					n <= drts.n && b != nil && b->blkno == prevblkno+1 && n < 128;
 					b = b->next){
 				prevblkno=b->blkno;
 				n++;
@@ -189,8 +189,8 @@
 				free(jumbo);
 				qunlock(&drts.lck);
 				return;
-			}
-			goto single;
+			}else
+				goto single;
 		}else{
 single:
 			b = pluck(drts.head);