[PATCH 17/42] state: backend-direct: Fix max_size

Sascha Hauer s.hauer at pengutronix.de
Fri Mar 31 00:03:21 PDT 2017


The max_size in the direct backend includes the meta data, so
substract its size when determing the max data size we can store.

Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
 common/state/backend_bucket_direct.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/common/state/backend_bucket_direct.c b/common/state/backend_bucket_direct.c
index 246cb499c4..9996ac2919 100644
--- a/common/state/backend_bucket_direct.c
+++ b/common/state/backend_bucket_direct.c
@@ -103,7 +103,7 @@ static int state_backend_bucket_direct_write(struct state_backend_storage_bucket
 	int ret;
 	struct state_backend_storage_bucket_direct_meta meta;
 
-	if (direct->max_size && len > direct->max_size)
+	if (direct->max_size && len > direct->max_size - sizeof(meta))
 		return -E2BIG;
 
 	ret = lseek(direct->fd, direct->offset, SEEK_SET);
-- 
2.11.0




More information about the barebox mailing list