C and C++ Binaries


ALLOC.RPF : Return Pointer to Freed

Summary

A procedure returns a pointer to memory that has already been freed.

Properties

Class Name Return Pointer to Freed
Significance security
Mnemonic ALLOC.RPF
Categories
JSF++ JSF++:70.1 An object shall not be improperly used before its lifetime begins or after its lifetime ends.
Availability Available for C and C++.
Enabling Checks for this warning class are enabled by default. To disable them, add the following WARNING_FILTER rule to the project configuration file.
WARNING_FILTER += discard class="Return Pointer to Freed"

Example

#include <stdlib.h>

int * returnptr(){
    int * px = malloc(sizeof(int));
    int * py = px;
    if (!py){
      return NULL;
    }
    free(py);
    return(px); /* 'Return Pointer To Freed' warning issued here */
}

void main() {
    int * ptr;
    ptr = returnptr();
    free(ptr);                /* 'Double Free' and 'Free Null Pointer' warnings issued here */
}

Relevant Configuration File Parameters

The following configuration file parameters affect checks for this warning class.