Richard W.M. Jones
2010-May-12 15:57 UTC
[Libguestfs] [PATCH] Fix error message in string-e command (RHBZ#588651).
-- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones virt-df lists disk usage of guests without needing to install any software inside the virtual machine. Supports Linux and Windows. http://et.redhat.com/~rjones/virt-df/ -------------- next part -------------->From d1ec7ad66e3a09cfc76a704a5df0fb6eee301bf4 Mon Sep 17 00:00:00 2001From: Richard Jones <rjones at redhat.com> Date: Wed, 12 May 2010 16:55:59 +0100 Subject: [PATCH] Fix error message in string-e command (RHBZ#588651). --- daemon/strings.c | 6 ++++++ src/generator.ml | 37 +++++++++++++++++++++++++++++++++---- 2 files changed, 39 insertions(+), 4 deletions(-) diff --git a/daemon/strings.c b/daemon/strings.c index 1ba0241..f08401b 100644 --- a/daemon/strings.c +++ b/daemon/strings.c @@ -34,6 +34,12 @@ do_strings_e (const char *encoding, const char *path) char *out, *err; char **lines; + if (strlen (encoding) != 1 || + strchr ("sSblBL", encoding[0]) == NULL) { + reply_with_error ("%s: invalid encoding", encoding); + return NULL; + } + CHROOT_IN; fd = open (path, O_RDONLY); CHROOT_OUT; diff --git a/src/generator.ml b/src/generator.ml index 88d5be4..fbf84c0 100755 --- a/src/generator.ml +++ b/src/generator.ml @@ -2463,12 +2463,41 @@ the list of printable strings found."); "print the printable strings in a file", "\ This is like the C<guestfs_strings> command, but allows you to -specify the encoding. +specify the encoding of strings that are looked for in +the source file C<path>. -See the L<strings(1)> manpage for the full list of encodings. +Allowed encodings are: -Commonly useful encodings are C<l> (lower case L) which will -show strings inside Windows/x86 files. +=over 4 + +=item s + +Single 7-bit-byte characters like ASCII and the ASCII-compatible +parts of ISO-8859-X (this is what C<guestfs_strings> uses). + +=item S + +Single 8-bit-byte characters. + +=item b + +16-bit big endian strings such as those encoded in +UTF-16BE or UCS-2BE. + +=item l (lower case letter L) + +16-bit little endian such as UTF-16LE and UCS-2LE. +This is useful for examining binaries in Windows guests. + +=item B + +32-bit big endian such as UCS-4BE. + +=item L + +32-bit little endian such as UCS-4LE. + +=back The returned strings are transcoded to UTF-8."); -- 1.6.6.1
Matthew Booth
2010-May-13 14:21 UTC
[Libguestfs] [PATCH] Fix error message in string-e command (RHBZ#588651).
On 12/05/10 16:57, Richard W.M. Jones wrote:>>From d1ec7ad66e3a09cfc76a704a5df0fb6eee301bf4 Mon Sep 17 00:00:00 2001 > From: Richard Jones <rjones at redhat.com> > Date: Wed, 12 May 2010 16:55:59 +0100 > Subject: [PATCH] Fix error message in string-e command (RHBZ#588651). > > --- > daemon/strings.c | 6 ++++++ > src/generator.ml | 37 +++++++++++++++++++++++++++++++++---- > 2 files changed, 39 insertions(+), 4 deletions(-)ACK. Matt -- Matthew Booth, RHCA, RHCSS Red Hat Engineering, Virtualisation Team M: +44 (0)7977 267231 GPG ID: D33C3490 GPG FPR: 3733 612D 2D05 5458 8A8A 1600 3441 EA19 D33C 3490