For example, ‘eglGetConfigs’ function takes input parameter ‘EGLConfig* configs,’ which is an arbitrary memory address supplied by the caller of the function. There is nothing preventing the caller 1) from supplying incorrect address, such as incorrectly aligned address or address in restricted memory space, or 2) from supplying correct but detrimental address, such as address within memory space occupied by the implementation i.e. executable library itself. In the first case, result would typically be a segmentation fault, while in the second case it is hard to predict outcome. A solution that would detect and prevent the above cases would likely be complex.
For reference, general issue "EGL" is defined as issue #35.
For example, ‘eglGetConfigs’ function takes input parameter ‘EGLConfig* configs,’ which is an arbitrary memory address supplied by the caller of the function. There is nothing preventing the caller 1) from supplying incorrect address, such as incorrectly aligned address or address in restricted memory space, or 2) from supplying correct but detrimental address, such as address within memory space occupied by the implementation i.e. executable library itself. In the first case, result would typically be a segmentation fault, while in the second case it is hard to predict outcome. A solution that would detect and prevent the above cases would likely be complex.
For reference, general issue "EGL" is defined as issue #35.