diff
+1  static BOOL check_and_advance(const BYTE** pbOrderHdr, const BYTE* pbEnd, UINT32 increment)
+2  {
+3      if (!buffer_within_range(*pbOrderHdr, increment, pbEnd))
+4          return FALSE;
+5      *pbOrderHdr += increment;
+6      return TRUE;
+7  }
9   runLength = (*pbOrderHdr) & g_MaskRegularRunLength;
10  if (runLength == 0)
-11      if (!buffer_within_range(pbOrderHdr, 1, pbEnd))
+11      if (!check_and_advance(&pbOrderHdr, pbEnd, 1))
12          return ERROR_INVALID_DATA; // Or appropriate error code
