Author: tridge
Date: 2004-08-21 18:15:07 +0000 (Sat, 21 Aug 2004)
New Revision: 1989

WebSVN: http://websvn.samba.org/websvn/changeset.php?rep=samba&path=/&rev=1989&nolog=1

Log:
fixed a couple of bugs in code that assumes sizeof(time_t) == sizeof(int)
Modified:
   branches/SAMBA_4_0/source/lib/gencache.c


Changeset:
Modified: branches/SAMBA_4_0/source/lib/gencache.c
===================================================================
--- branches/SAMBA_4_0/source/lib/gencache.c    2004-08-21 12:23:02 UTC (rev 1988)
+++ branches/SAMBA_4_0/source/lib/gencache.c    2004-08-21 18:15:07 UTC (rev 1989)
@@ -250,13 +250,15 @@
                char* entry_buf = strndup(databuf.dptr, databuf.dsize);
                char *v;
                time_t t;
+               unsigned i;
 
                v = (char*)malloc(sizeof(char) * 
                                  (databuf.dsize - TIMEOUT_LEN));
                                
                SAFE_FREE(databuf.dptr);
-               sscanf(entry_buf, CACHE_DATA_FMT, (int*)&t, v);
+               sscanf(entry_buf, CACHE_DATA_FMT, (int*)&i, v);
                SAFE_FREE(entry_buf);
+               t = i;
 
                DEBUG(10, ("Returning %s cache entry: key = %s, value = %s, "
                           "timeout = %s\n", t > time(NULL) ? "valid" :
@@ -307,6 +309,7 @@
        TDB_DATA databuf;
        char *keystr = NULL, *valstr = NULL, *entry = NULL;
        time_t timeout = 0;
+       unsigned i;
 
        /* fail completely if get null pointers passed */
        SMB_ASSERT(fn && keystr_pattern);
@@ -335,7 +338,8 @@
                entry = strndup(databuf.dptr, databuf.dsize);
                SAFE_FREE(databuf.dptr);
                valstr = (char*)malloc(sizeof(char) * (databuf.dsize - TIMEOUT_LEN));
-               sscanf(entry, CACHE_DATA_FMT, (int*)(&timeout), valstr);
+               sscanf(entry, CACHE_DATA_FMT, (int*)(&i), valstr);
+               timeout = i;
                
                DEBUG(10, ("Calling function with arguments (key = %s, value = %s, 
timeout = %s)\n",
                           keystr, valstr, ctime(&timeout)));

Reply via email to