From 92e85d325f88d4a02ff05d02000e7e3df8ab0e6e Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Sat, 7 Jan 2006 22:11:30 +0000 Subject: r12760: Fix bug 3384 (This used to be commit 9d366da172a13fe9fd6e940f95d58dac534f3b31) --- source3/tdb/tdbtool.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/source3/tdb/tdbtool.c b/source3/tdb/tdbtool.c index ce8490ea06..bcfb96adc0 100644 --- a/source3/tdb/tdbtool.c +++ b/source3/tdb/tdbtool.c @@ -232,6 +232,11 @@ static void insert_tdb(char *keyname, size_t keylen, char* data, size_t datalen) { TDB_DATA key, dbuf; + if ((keyname == NULL) || (keylen == 0)) { + terror("need key"); + return; + } + key.dptr = keyname; key.dsize = keylen; dbuf.dptr = data; @@ -246,6 +251,16 @@ static void store_tdb(char *keyname, size_t keylen, char* data, size_t datalen) { TDB_DATA key, dbuf; + if ((keyname == NULL) || (keylen == 0)) { + terror("need key"); + return; + } + + if ((data == NULL) || (datalen == 0)) { + terror("need data"); + return; + } + key.dptr = keyname; key.dsize = keylen; dbuf.dptr = data; @@ -263,6 +278,11 @@ static void show_tdb(char *keyname, size_t keylen) { TDB_DATA key, dbuf; + if ((keyname == NULL) || (keylen == 0)) { + terror("need key"); + return; + } + key.dptr = keyname; key.dsize = keylen; @@ -283,6 +303,11 @@ static void delete_tdb(char *keyname, size_t keylen) { TDB_DATA key; + if ((keyname == NULL) || (keylen == 0)) { + terror("need key"); + return; + } + key.dptr = keyname; key.dsize = keylen; @@ -296,6 +321,11 @@ static void move_rec(char *keyname, size_t keylen, char* tdbname) TDB_DATA key, dbuf; TDB_CONTEXT *dst_tdb; + if ((keyname == NULL) || (keylen == 0)) { + terror("need key"); + return; + } + if ( !tdbname ) { terror("need destination tdb name"); return; -- cgit