Pino Toscano
2014-Aug-08 13:02 UTC
[Libguestfs] [PATCH] tests: c-api: do not crash w/ missing hash entry
If an hash does not have the requested key, just error out cleanly
instead of crashing when trying to compare a null string.
---
tests/c-api/tests-main.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/tests/c-api/tests-main.c b/tests/c-api/tests-main.c
index 49d36b9..e2e86f5 100644
--- a/tests/c-api/tests-main.c
+++ b/tests/c-api/tests-main.c
@@ -321,6 +321,11 @@ check_hash (char **ret, const char *key, const char
*expected)
{
const char *value = get_key (ret, key);
+ if (value == NULL) {
+ fprintf (stderr, "test failed: hash key %s not found\n", key);
+ return -1;
+ }
+
if (STRNEQ (value, expected)) {
fprintf (stderr, "test failed: hash key %s = \"%s\" is not
expected value \"%s\"\n",
key, value, expected);
--
1.9.3
Richard W.M. Jones
2014-Aug-08 18:26 UTC
Re: [Libguestfs] [PATCH] tests: c-api: do not crash w/ missing hash entry
On Fri, Aug 08, 2014 at 03:02:49PM +0200, Pino Toscano wrote:> If an hash does not have the requested key, just error out cleanly > instead of crashing when trying to compare a null string. > --- > tests/c-api/tests-main.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/tests/c-api/tests-main.c b/tests/c-api/tests-main.c > index 49d36b9..e2e86f5 100644 > --- a/tests/c-api/tests-main.c > +++ b/tests/c-api/tests-main.c > @@ -321,6 +321,11 @@ check_hash (char **ret, const char *key, const char *expected) > { > const char *value = get_key (ret, key); > > + if (value == NULL) { > + fprintf (stderr, "test failed: hash key %s not found\n", key); > + return -1; > + } > + > if (STRNEQ (value, expected)) { > fprintf (stderr, "test failed: hash key %s = \"%s\" is not expected value \"%s\"\n", > key, value, expected); > -- > 1.9.3ACK. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com Fedora Windows cross-compiler. Compile Windows programs, test, and build Windows installers. Over 100 libraries supported. http://fedoraproject.org/wiki/MinGW