Browse Prior Art Database

Method for Creating a Portable C-Language Address Validation Function

IP.com Disclosure Number: IPCOM000114106D
Original Publication Date: 1994-Nov-01
Included in the Prior Art Database: 2005-Mar-27
Document File: 2 page(s) / 81K

Publishing Venue

IBM

Related People

Hidalgo, DS: AUTHOR [+3]

Abstract

Disclosed is an invention which provides an algorithm that can be used to implement an address validation function that can be used by C programs to determine addressability prior to using an address, thus improving program robustness.

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

Method for Creating a Portable C-Language Address Validation Function

      Disclosed is an invention which provides an algorithm that can
be used to implement an address validation function that can be used
by C programs to determine addressability prior to using an address,
thus improving program robustness.

      In order to boost software robustness it is necessary that
programs determine the validity of an address before they read or
write to that address.  Not doing so may result in total software
failure, which in most cases is not an acceptable result.
Portability and efficiency are both requirements for any address
validation method.  This invention provides a portable method to
perform address validation in programs written in C language.

      There are multiple approaches that can be taken to provide
means for programs to perform address validation.  However, most
approaches must deal with performance and portability issues.
Address validation can be a pervasive operation throughout a
program's source code, and throughout its execution.  Often an
implementation of an address validation function will have to
compromise between portability and performance.  This is due to the
differences in the underlying processor architectures and operating
systems, which prevent efficient methods from being portable, and
portable methods from being efficient.

      This invention provides a method that can be used to validate
addresses in programs written in C language, and that is potentially
portable across operating systems.  The function's performance would
not be as good as might be desired due to its use of the C runtime
functions setjmp(), longjmp(), and signal().

      The method used by the disclosed address validation function is
based on the use of the C runtime functions setjmp(), longjmp(), and
signal().  The address validation function is called by a program
with an address and a byte range (starting at the address) to be
validated.  The validation f...