diff --git a/libraries/liblmdb/mdb_load.c b/libraries/liblmdb/mdb_load.c index a26238c7d7..b0ab174dd7 100644 --- a/libraries/liblmdb/mdb_load.c +++ b/libraries/liblmdb/mdb_load.c @@ -205,6 +205,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? */