diff options
author | Aidan MacDonald <amachronic@protonmail.com> | 2021-11-06 17:03:45 +0300 |
---|---|---|
committer | Aidan MacDonald <amachronic@protonmail.com> | 2021-11-06 17:03:45 +0300 |
commit | 8e4b2750c0b43bc55d6ef1403b569e6ab6ac10c8 (patch) | |
tree | 8d332bf5d1df6b2cb68af693ac89ccedf35296fc | |
parent | f5726a59e269aaabd45fca5e9b891d4ab8a4dc59 (diff) |
Add API error checking to mtar_finalize()
-rw-r--r-- | src/microtar.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/microtar.c b/src/microtar.c index e9a84ef..0653adb 100644 --- a/src/microtar.c +++ b/src/microtar.c @@ -579,8 +579,9 @@ int mtar_finalize(mtar_t* tar) { if(tar->access != MTAR_WRITE) return MTAR_EAPI; - if(tar->state & S_WROTE_FINALIZE) - return MTAR_ESUCCESS; + if(((tar->state & S_WROTE_DATA) && !(tar->state & S_WROTE_DATA_EOF)) || + (tar->state & S_WROTE_FINALIZE)) + return MTAR_EAPI; tar->state |= S_WROTE_FINALIZE; return write_null_bytes(tar, 1024); |