| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
* Makefile.am (all-local): Remove rule. It would put many
files in po/POTFILES.in that contain no translatable diagnostic.
|
| |
|
|
|
|
| |
* perl/typemap: Remove spaces-before-TAB.
|
|
|
|
|
|
| |
* configure.ac: use "test C1 && test C2", not "test C1 -a C2";
* autogen.sh: Likewise.
* sh/hivexget: Use "test C1 || test C2", not "test C1 -o C2"
|
|
|
|
| |
* autogen.sh: Using "test x = x" is more portable.
|
| |
|
|
|
|
|
|
| |
* lib/byte_conversions.h: Remove #ifdef HAVE_BYTESWAP_H guard.
With gnulib, we're guaranteed to have that header file.
* bootstrap (modules): Use the byteswap module.
|
|
|
|
|
|
|
|
| |
now that we're using gnulib's fcntl module, which ensures
that we use a conforming <fcntl.h>.
* lib/hivex.c (O_CLOEXEC): Remove definition.
* bootstrap (modules): Add fcntl for its guaranteed definition
of O_CLOEXEC.
|
|
|
|
|
|
|
|
|
|
| |
* .tx/config: Remove trailing empty line.
* images/Makefile.am: Likewise.
* sh/example1: Add newline at EOF.
* sh/example2: Likewise.
* sh/example3: Likewise.
* sh/example4: Likewise.
* sh/example5: Likewise.
|
|
|
|
|
| |
* po/POTFILES.in: Reduce list of files with translatable messages
to match reality.
|
|
|
|
|
|
|
|
|
| |
now that we're using gnulib's inttypes module, which ensures
that we use a conforming <inttypes.h>.
* bootstrap (modules): Add inttypes.
* generator/generator.ml (generate_perl_xs) [PRId64, PRIu64]:
Don't define these symbols. Instead, ...
Include <inttypes.h>.
|
|
|
|
|
| |
* lib/hivex.c (hivex_node_set_value): Remove unnecessary
test-before-free.
|
|
|
|
|
| |
This fixes commit b8ad15031cacf910634b4f4f4632232949c4acd2
and commit f408b757b1d75429fae5fa7630a4fc5451844de7.
|
|
|
|
| |
This fixes commit b8ad15031cacf910634b4f4f4632232949c4acd2.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Previously we returned errno == ENOKEY. However this was an
unfortunate choice of error code since it is not defined in POSIX. As
a result it is missing on several platforms.
HIVEX_NO_KEY is defined as ENOKEY on platforms where this symbol
exists (thus maintaining backwards ABI compatibility), and defined as
another POSIX error code otherwise.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
,----
| ocamlfind install \
| -ldconf ignore -destdir /build/buildd-hivex_1.2.6-1-ia64-iqcb38/hivex-1.2.6/debian/tmp/usr/lib/ocaml \
| hivex \
| META *.so *.a *.cma *.cmx *.cmxa *.cmi *.mli
| Installed /build/buildd-hivex_1.2.6-1-ia64-iqcb38/hivex-1.2.6/debian/tmp/usr/lib/ocaml/hivex/hivex.mli
| Installed /build/buildd-hivex_1.2.6-1-ia64-iqcb38/hivex-1.2.6/debian/tmp/usr/lib/ocaml/hivex/hivex.cmi
| ocamlfind: *.cmxa: No such file or directory
| make[4]: *** [install-data-hook] Error 2
`----
|
| |
|
|
|
|
|
|
|
| |
See this thread:
https://www.redhat.com/archives/libguestfs/2011-May/thread.html#00015
Thanks to Hilko Bengen and Török Edwin for coming up with this fix.
|
| |
|
|
|
|
|
|
|
|
|
| |
Same as this error:
https://www.redhat.com/archives/libguestfs/2011-April/msg00042.html
https://www.redhat.com/archives/libguestfs/2011-May/msg00041.html
We don't know why latest libtool is so obviously broken, but this
works around the problem.
|
|
|
|
|
| |
This forces the recent gnulib to generate a libgnu.la file. Otherwise
it appears to default to --no-libtool which doesn't generate one.
|
|
|
|
| |
Unclear if this makes any difference.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Richard W.M. Jones:
> > Both size_t and int are 32 bit values. An endianess issue, maybe?
> I guess it might be. We're supposed to be doing le32toh / be32toh
> everywhere as appropriate, but we might be missing one. The code is
> mainly tested on little endian arches.
Found it.
Now "make check" completes successfully on Sparc and PowerPC.
|
|
|
|
|
|
|
| |
Only compile bytecode otherwise, avoiding ocamlfind's helpful error
message "ocamlfind: Not supported in your configuration: ocamlopt"
(Successfully tested on Debian/unstable on alpha)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On installations where no native OCaml compiler is available, the
test program can't be compiled and so we get this message:
,----
| checking for function caml_raise_with_args... not found
`----
This breaks building of the OCaml bindings.
,----
| gcc -std=gnu99 -I.. -I/usr/lib/ocaml -I../ocaml -I../lib -g -O2 -fPIC -Wall -c hivex_c.c
| hivex_c.c:52: error: static declaration of 'caml_raise_with_args' follows non-static declaration
| /usr/lib/ocaml/caml/fail.h:30: note: previous declaration of 'caml_raise_with_args' was here
| make[2]: *** [hivex_c.o] Error 1
`----
(Successfully tested on Debian/unstable on alpha)
|
|
|
|
| |
This updates commit b808c875a34e62fcdf360534f923d6030590ff44.
|
|
|
|
|
|
| |
The code has been taken from specifically ac_python_devel.m4 published
at <http://ac-archive.sf.net/>, it has turned out to be less
error-prone on my Debian system.
|
|
|
|
|
| |
This should make it possible to build useful OCaml bindings on
architectures other than i386 and amd64 (Debian bug #589809).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Hi,
While working on Debian packages of hivex 1.2.5, I came across a test
failure for the Python bindings with Python 2.7 on the i386
architecture. (The tests ran fine on amd64.)
,----
| $ make -C python check
| make[1]: Entering directory `/home/bengen/src/deb/hivex/hivex.git/python'
| 010-import.py
| 020-open.py
| 021-close.py
| 200-write.py
| python: hivex-py.c:52: get_handle: Assertion `obj' failed.
`----
I narrowed this down to hivex-py.c:py_hivex_node_add_child():
The call
,----
| PyArg_ParseTuple (args, (char *) "OLs:hivex_node_add_child",
| &py_h, &parent, &name)
`----
results in `py_h' set to NULL, though Python's documentation claims that
this cannot happen. I think this happens because `parent' is declared a
`long int', but "L" in the format string corresponds to a `long long'.
On amd64, they have the same size, but on i386 they don't, so the
PyObject pointer is written to the wrong address.
Please consider applying the patch below which just changes the format
string. After regenerating hivex-py.c, I have successfully tested the
1.2.5 code base on both architectures.
Cheers,
-Hilko
|
|
|
|
| |
* lib/hivex.c: Split lines longer than 80 columns.
|
|
|
|
| |
Updated PO files.
|
| |
|
|
|
|
|
|
|
|
|
| |
If hivex_value_multiple_strings was given a value which had an odd
length or if the data in the value was unterminated,
hivex_value_multiple_strings could read uninitialized data.
Potentially (although very unlikely) this could cause a
non-exploitable segfault in the calling program.
|
|
|
|
|
| |
If the length of the buffer is not even, then this would read a byte
of uninitialized data. Fix the length check to avoid this.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In real registries, often the length declared in the header does not
match the length of the block. In this case hivex_value_value would
only allocate a value with a size which is the shorter of the two
length values, which is correct and safe.
However user code could do:
buf = hivex_value_value (h, v, &t, &len);
memcpy (somewhere, buf, len);
which would copy uninitialized data.
If hivex_value_value truncates a value like this, we also need to
return the shorter length to the user as well.
|
|
|
|
|
|
| |
The previous commit b71b88f588f8660935a7d462e97b84aa2d669249 attempted
to fix this, but got the test the wrong way round so the length would
never be shorter.
|
|
|
|
| |
Found using valgrind.
|
| |
|
| |
|
|
|
|
| |
http://www.transifex.net/projects/p/hivex/
|
| |
|
| |
|
| |
|
| |
|
| |
|