Writer consumed without finalize() in all config mutation functions #6

Open
opened 2026-05-12 11:57:56 +00:00 by salmaelsoly · 1 comment
Member

All four config mutation functions (tag_add, tag_delete, store_add, store_delete) take Writer by value, write data to the temporary flist file, but never call finalize(). The Writer struct has no Drop implementation, so the temp file is simply abandoned and the final destination path is never updated.

File: myfs-core/src/config.rs:20-80

Any CLI command that calls these functions appears to succeed but silently discards all changes. If Writer::new was called with remove=true, the original file is deleted and the temp file is also abandoned - double data loss.

Severity: critical | Confidence: high

All four config mutation functions (tag_add, tag_delete, store_add, store_delete) take Writer by value, write data to the temporary flist file, but never call finalize(). The Writer struct has no Drop implementation, so the temp file is simply abandoned and the final destination path is never updated. **File:** myfs-core/src/config.rs:20-80 Any CLI command that calls these functions appears to succeed but silently discards all changes. If Writer::new was called with remove=true, the original file is deleted and the temp file is also abandoned - double data loss. Severity: critical | Confidence: high
Author
Member

Classification: unclear -- referenced code does not exist in this repository

The described bug (Writer struct consumed without finalize(), potential double data loss with remove=true) is a well-documented critical-severity issue, but the referenced file myfs-core/src/config.rs does not exist in the geomind_code/geoip repository. This project is a MaxMind GeoIP lookup service with no Writer, config mutation functions (tag_add, store_add, etc.), or FUSE-related code. The issue was likely filed against the wrong repository.

Severity: critical | Confidence: high (bug is real in the correct codebase, but does not apply here)

> Classification: unclear -- referenced code does not exist in this repository The described bug (Writer struct consumed without finalize(), potential double data loss with remove=true) is a well-documented critical-severity issue, but the referenced file myfs-core/src/config.rs does not exist in the geomind_code/geoip repository. This project is a MaxMind GeoIP lookup service with no Writer, config mutation functions (tag_add, store_add, etc.), or FUSE-related code. The issue was likely filed against the wrong repository. Severity: critical | Confidence: high (bug is real in the correct codebase, but does not apply here)
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
geomind_code/geoip#6
No description provided.