The branch, master has been updated
       via  f35a1b9... s3-gencache: restore gencache_get behavior with NULL 
args (with torture test).
      from  ad6ee94... s3: Make "debug hires timestamp" default to true

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit f35a1b95aa6f50cb1bc919f4ab502ef2c38f6bf5
Author: Günther Deschner <g...@samba.org>
Date:   Mon Nov 2 13:01:58 2009 +0100

    s3-gencache: restore gencache_get behavior with NULL args (with torture 
test).
    
    Without this, we panic in wins_srv_is_dead() and fail to start nmbd with
    wins support.
    
    Volker, please check.
    
    Guenther

-----------------------------------------------------------------------

Summary of changes:
 source3/lib/gencache.c    |   12 ++++++++----
 source3/torture/torture.c |    5 +++++
 2 files changed, 13 insertions(+), 4 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/lib/gencache.c b/source3/lib/gencache.c
index 6de653f..4889d7c 100644
--- a/source3/lib/gencache.c
+++ b/source3/lib/gencache.c
@@ -529,11 +529,15 @@ bool gencache_get(const char *keystr, char **value, 
time_t *ptimeout)
                SAFE_FREE(blob.data);
                return false;
        }
-       *value = SMB_STRDUP((char *)blob.data);
-       data_blob_free(&blob);
-       if (*value == NULL) {
-               return false;
+       if (value) {
+               *value = SMB_STRDUP((char *)blob.data);
+               data_blob_free(&blob);
+               if (*value == NULL) {
+                       return false;
+               }
+               return true;
        }
+       data_blob_free(&blob);
        return true;
 }
 
diff --git a/source3/torture/torture.c b/source3/torture/torture.c
index ca499a9..bda82f2 100644
--- a/source3/torture/torture.c
+++ b/source3/torture/torture.c
@@ -6431,6 +6431,11 @@ static bool run_local_gencache(int dummy)
                return False;
        }
 
+       if (!gencache_get("foo", NULL, NULL)) {
+               d_printf("%s: gencache_get() failed\n", __location__);
+               return False;
+       }
+
        if (!gencache_get("foo", &val, &tm)) {
                d_printf("%s: gencache_get() failed\n", __location__);
                return False;


-- 
Samba Shared Repository

Reply via email to