Bug 905341

Summary: "No such file or directory" when execute "hivex-commit"
Product: [Community] Virtualization Tools Reporter: Richard W.M. Jones <rjones>
Component: libguestfsAssignee: Richard W.M. Jones <rjones>
Status: CLOSED UPSTREAM QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: bfan, dyasny, leiwang, mbooth, moli, qguan, wshi
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 905322 Environment:
Last Closed: 2013-01-29 10:38:09 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Richard W.M. Jones 2013-01-29 08:39:52 UTC
+++ This bug was initially created as a clone of Bug #905322 +++

Description of problem:
Command "hivex-commit" need a absolute path as its parameter, it's different with "hivex-open" which just need a relative path.

"/WINDOWS/system32/config/software" is exist, and that folder is writable. it's like hivex-commit didn't correctly follow the link, its path is not start from "/sysroot/"  


Version-Release number of selected component (if applicable):
><fs> version
major: 1
minor: 20
release: 1
extra: rhel=7,release=6.el7,libvirt


How reproducible:
100%


Steps to Reproduce:
1. launch libguestfs with a windows guest
[root#] guestfish -a Win2003-32-hvm.raw
><fs> run
><fs> mount /dev/sda1 /

2. open a registry hive file with write model
><fs> hivex-open /WINDOWS/system32/config/software write:true

3. commit changes to the hive file with relative path, it's failed
><fs> hivex-commit /WINDOWS/system32/config/software
libguestfs: error: hivex_commit: failed: No such file or directory

4. commit changes to the hive file with absolute path, it's passed
><fs> hivex-commit /sysroot/WINDOWS/system32/config/software


Actual results:
hivex-commit with relatived path failed


Expected results:
hivex-commit with relatived path can pass


Additional info:

--- Additional comment from RHEL Product and Program Management on 2013-01-29 02:27:34 EST ---

Since this bug report was entered in bugzilla, the release flag has been
set to ? to ensure that it is properly evaluated for this release.

Comment 1 Richard W.M. Jones 2013-01-29 08:40:20 UTC
There's a clear bug in the code.

Comment 2 Richard W.M. Jones 2013-01-29 10:38:09 UTC
Fixed upstream by this commit:
https://github.com/libguestfs/libguestfs/commit/be4a3d77c42148731a977b68aab8b454372518d7