diff --git a/libraries/liblmdb/mdb_load.c b/libraries/liblmdb/mdb_load.c index 6d1b5a4328..e6b23406e2 100644 --- a/libraries/liblmdb/mdb_load.c +++ b/libraries/liblmdb/mdb_load.c @@ -218,6 +218,12 @@ badend: c1 = buf->mv_data; len = strlen((char *)c1); + if (!len) { + /* This can only happen with an intentionally invalid input + * with a NUL byte after the leading SPACE + */ + goto badend; + } l2 = len; /* Is buffer too short? */