Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 832575 - <app-emulation/libdsk-1.5.8 dsktrans utility may result with data loss // version bump needed
Summary: <app-emulation/libdsk-1.5.8 dsktrans utility may result with data loss // ver...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal critical
Assignee: Jonas Stein
URL: http://www.seasip.info/Unix/LibDsk/#c...
Whiteboard:
Keywords:
Depends on: 832592
Blocks:
  Show dependency tree
 
Reported: 2022-02-02 11:14 UTC by Paul Osmialowski
Modified: 2022-02-05 16:11 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Osmialowski 2022-02-02 11:14:08 UTC
I have spotted a problem leading to data loss while transferring CP/M files larger than 16384 bytes using dsktrans. I have notified the libdsk author and he released a new version of libdsk with the following changelog entry:

- Bugfix in the rcpmfs driver: Fixed corruption of files greater than 16k with a file size not a multiple of 128 bytes.


Reproducible: Always

Steps to Reproduce:
1. create example.dsk, an example CP/M disk image containing at least one file larger than 16384 bytes with a size that is not a multiple of 128 bytes
2. try to unpack this disk image using the following commands:
mkdir temp
dsktrans -itype dsk -otype rcpmfs example.dsk temp
3. Compare extracted files with original files
Actual Results:  
The file of size greater than 16384 bytes will have part of its content (just before the offset 0x4000) replaced with a serie of 0xe5's


Expected Results:  
There are no differences between original and extracted files

The new version does seem to fix the issue.

The issue is serious. If I didn't notice that, I could have malformed my vintage software collection while doing some maintenance job on it.
Comment 1 Larry the Git Cow gentoo-dev 2022-02-02 19:54:17 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=202cc98830ee3af38f41a776f6fd53461e14e6c1

commit 202cc98830ee3af38f41a776f6fd53461e14e6c1
Author:     Jonas Stein <jstein@gentoo.org>
AuthorDate: 2022-02-02 19:53:36 +0000
Commit:     Jonas Stein <jstein@gentoo.org>
CommitDate: 2022-02-02 19:53:56 +0000

    app-emulation/libdsk: bump to 1.5.18
    
    Version bump fixes critical bug in 1.5.8 with potential data loss.
    Eapi bump to EAPI=8
    Bug: https://bugs.gentoo.org/832575
    Package-Manager: Portage-3.0.30, Repoman-3.0.3
    Signed-off-by: Jonas Stein <jstein@gentoo.org>

 app-emulation/libdsk/Manifest             |  1 +
 app-emulation/libdsk/libdsk-1.5.18.ebuild | 25 +++++++++++++++++++++++++
 2 files changed, 26 insertions(+)
Comment 2 Jonas Stein gentoo-dev 2022-02-03 21:26:00 UTC
TODO: when 832592 is solved, delete the old version and close this ticket.
Comment 3 Paul Osmialowski 2022-02-05 16:11:08 UTC
Version bump completed.