From: Olivier Martin Date: Thu, 2 Apr 2015 13:51:28 +0000 (+0000) Subject: ArmPkg/BaseMemoryLib(Sym|Vstm): Do not post increment returned pointer X-Git-Tag: edk2-stable201903~10096 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=80d313972410fef01ad9575a78b302dd521e968b;p=mirror_edk2.git ArmPkg/BaseMemoryLib(Sym|Vstm): Do not post increment returned pointer InternalMemScanMem(8|16|32|64) was returning a pointer that was post incremented from the expected returned value. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin Reviewed-by: Ronald Cron git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17108 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/ArmPkg/Library/BaseMemoryLibStm/MemLibGeneric.c b/ArmPkg/Library/BaseMemoryLibStm/MemLibGeneric.c index ef7874877d..54c2701295 100755 --- a/ArmPkg/Library/BaseMemoryLibStm/MemLibGeneric.c +++ b/ArmPkg/Library/BaseMemoryLibStm/MemLibGeneric.c @@ -162,9 +162,10 @@ InternalMemScanMem8 ( Pointer = (CONST UINT8*)Buffer; do { - if (*(Pointer++) == Value) { + if (*Pointer == Value) { return Pointer; } + Pointer++; } while (--Length != 0); return NULL; } @@ -192,9 +193,10 @@ InternalMemScanMem16 ( Pointer = (CONST UINT16*)Buffer; do { - if (*(Pointer++) == Value) { + if (*Pointer == Value) { return Pointer; } + Pointer++; } while (--Length != 0); return NULL; } @@ -222,9 +224,10 @@ InternalMemScanMem32 ( Pointer = (CONST UINT32*)Buffer; do { - if (*(Pointer++) == Value) { + if (*Pointer == Value) { return Pointer; } + Pointer++; } while (--Length != 0); return NULL; } @@ -252,9 +255,10 @@ InternalMemScanMem64 ( Pointer = (CONST UINT64*)Buffer; do { - if (*(Pointer++) == Value) { + if (*Pointer == Value) { return Pointer; } + Pointer++; } while (--Length != 0); return NULL; } diff --git a/ArmPkg/Library/BaseMemoryLibVstm/MemLibGeneric.c b/ArmPkg/Library/BaseMemoryLibVstm/MemLibGeneric.c index ef7874877d..54c2701295 100755 --- a/ArmPkg/Library/BaseMemoryLibVstm/MemLibGeneric.c +++ b/ArmPkg/Library/BaseMemoryLibVstm/MemLibGeneric.c @@ -162,9 +162,10 @@ InternalMemScanMem8 ( Pointer = (CONST UINT8*)Buffer; do { - if (*(Pointer++) == Value) { + if (*Pointer == Value) { return Pointer; } + Pointer++; } while (--Length != 0); return NULL; } @@ -192,9 +193,10 @@ InternalMemScanMem16 ( Pointer = (CONST UINT16*)Buffer; do { - if (*(Pointer++) == Value) { + if (*Pointer == Value) { return Pointer; } + Pointer++; } while (--Length != 0); return NULL; } @@ -222,9 +224,10 @@ InternalMemScanMem32 ( Pointer = (CONST UINT32*)Buffer; do { - if (*(Pointer++) == Value) { + if (*Pointer == Value) { return Pointer; } + Pointer++; } while (--Length != 0); return NULL; } @@ -252,9 +255,10 @@ InternalMemScanMem64 ( Pointer = (CONST UINT64*)Buffer; do { - if (*(Pointer++) == Value) { + if (*Pointer == Value) { return Pointer; } + Pointer++; } while (--Length != 0); return NULL; }