From: Michael Adam Date: Fri, 20 Nov 2009 23:08:38 +0000 (+0100) Subject: s3:fix endianness bug in dbwrap_change_uint32_atomic() (bug #6901) X-Git-Tag: samba-4.0.0alpha9~293 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4afffc96ee7ed81c4d77b28da887fcb51f1b3579;p=thirdparty%2Fsamba.git s3:fix endianness bug in dbwrap_change_uint32_atomic() (bug #6901) Michael --- diff --git a/source3/lib/dbwrap_util.c b/source3/lib/dbwrap_util.c index 1c190167b5b..96888a4fb0b 100644 --- a/source3/lib/dbwrap_util.c +++ b/source3/lib/dbwrap_util.c @@ -118,7 +118,7 @@ static NTSTATUS dbwrap_change_uint32_atomic_action(struct db_context *db, { struct db_record *rec; uint32 val = -1; - TDB_DATA data; + uint32_t v_store; NTSTATUS ret; struct dbwrap_change_uint32_atomic_context *state; @@ -141,10 +141,12 @@ static NTSTATUS dbwrap_change_uint32_atomic_action(struct db_context *db, val += state->change_val; - data.dsize = sizeof(val); - data.dptr = (uint8 *)&val; + SIVAL(&v_store, 0, val); - ret = rec->store(rec, data, TDB_REPLACE); + ret = rec->store(rec, + make_tdb_data((const uint8 *)&v_store, + sizeof(v_store)), + TDB_REPLACE); done: TALLOC_FREE(rec);