From d28aedb09d955bf2f9417e65323331e2253a96d2 Mon Sep 17 00:00:00 2001 From: "jdunn%netscape.com" Date: Sat, 13 May 2000 15:05:18 +0000 Subject: [PATCH] Fix alignment problem with DB reads. r= davidm@netscape.com, wtc@netscape.com #= 38884 git-svn-id: svn://10.0.0.236/trunk@69565 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/netwerk/cache/filecache/Makefile.in | 4 ---- mozilla/netwerk/cache/filecache/nsDBAccessor.cpp | 9 +++++---- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/mozilla/netwerk/cache/filecache/Makefile.in b/mozilla/netwerk/cache/filecache/Makefile.in index c729a3e4ee8..06a60ebc389 100644 --- a/mozilla/netwerk/cache/filecache/Makefile.in +++ b/mozilla/netwerk/cache/filecache/Makefile.in @@ -56,9 +56,5 @@ EXTRA_LIBS = $(NSPR_LIBS) override NO_SHARED_LIB=1 override NO_STATIC_LIB= -ifeq ($(OS_ARCH),HP-UX) -OS_CXXFLAGS += +u1 -endif - include $(topsrcdir)/config/rules.mk diff --git a/mozilla/netwerk/cache/filecache/nsDBAccessor.cpp b/mozilla/netwerk/cache/filecache/nsDBAccessor.cpp index 659dac8627b..f00d0e2eee4 100644 --- a/mozilla/netwerk/cache/filecache/nsDBAccessor.cpp +++ b/mozilla/netwerk/cache/filecache/nsDBAccessor.cpp @@ -113,13 +113,14 @@ nsDBAccessor::Init(nsIFile* dbfile) if(status == 0) { // get the last session id - PRInt16 *old_ID = NS_STATIC_CAST(PRInt16*, db_data.data) ; - if(*old_ID < ini_sessionID) { + PRInt16 old_ID; + memcpy(&old_ID, db_data.data, sizeof(PRInt16)); + if(old_ID < ini_sessionID) { NS_ERROR("ERROR: Bad Session ID in database, corrupted db.") ; return NS_ERROR_FAILURE ; } - mSessionID = *old_ID + 1 ; + mSessionID = old_ID + 1 ; } else if(status == 1) { // must be a new db @@ -254,7 +255,7 @@ nsDBAccessor::GetID(const char* key, PRUint32 length, PRInt32* aID) int status = (*mDB->get)(mDB, &db_key, &db_data, 0) ; if(status == 0) { // found recordID - *aID = *(NS_REINTERPRET_CAST(PRInt32*, db_data.data)) ; + memcpy(aID, db_data.data, sizeof(PRInt32)); return NS_OK ; } else if(status == 1) {