Browse Prior Art Database

Verifying Subsets within a Memory Pool for Memory Overruns

IP.com Disclosure Number: IPCOM000108598D
Original Publication Date: 1992-Jun-01
Included in the Prior Art Database: 2005-Mar-22
Document File: 2 page(s) / 65K

Publishing Venue

IBM

Related People

Cox, D: AUTHOR [+3]

Abstract

This article describes a method for validating subsetted memory to insure that the memory is intact, that is, not corrupted by other applications which may be sharing the memory segment.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 54% of the total text.

Verifying Subsets within a Memory Pool for Memory Overruns

       This article describes a method for validating subsetted
memory to insure that the memory is intact, that is, not corrupted by
other applications which may be sharing the memory segment.

      There is no way to verify that the subsetted memory in an OS/2*
segment has not been corrupted.  A Process has access to memory at
the segment level and can, therefore, access all subsetted memory
associated with a segment it has access to.  OS/2 does not provide
any protection of memory at the subset level.  Memory subsets can be
overwritten by any process with access to the same segment.

      In order to overcome this and other related memory problems in
our application systems, OfficeVision*/2 (OV/2) Office built a Memory
Management subsystem, providing a layer of independence between
applications programs and the OS/2 operating system.  This subsystem
is described in (*).

      We used this subsystem as a base for solving the segment
corruption problem.  The subsystem keeps track of each segment
allocated by a calling application in a memory pool.  This memory
pool is identified by a handle, which the calling application passes
with each Memory Management request.  These memory segments may also
be subsetted by the application.  Each subset of memory within this
pool maintains both a prefix block and a suffix block.  The prefix
block contains a unique block identifier and maintains the...