× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Per the ILE concepts manual...

An activation group contains the following resources...
- Static program variables
- Dynamic storage
- Temporary data management resources
- Certain types of exception handlers and ending procedures

So I'd say yes, it should be helpful to have your program in it's own
activation group in the scenario you gave.

But I suspect one of the main causes of memory corruption is parameter
mismatches. If your code is calling anybody else code I think it'd be
possible for the other code to corrupt your memory space...even with
different activation groups.

I suspect if you really want to protect your code, you'd have to build it
as a service running in the background using data queues or sockets to
communicate to other programs.

It'd be interesting to hear from others with a better understanding of the
internals...

Charles



On Tue, Mar 31, 2015 at 11:58 AM, Zachary Johnson <ZJohnson@xxxxxxxxxxxxx>
wrote:

Hi all,

Is there a way that I can protect my application from other programs down
the line doing memory over writes. Separate activation groups will
separate the heaps but I'm not 100% certain this will solve my problem
because of SLS.

Here is a scenario, assume these are using the default SLS heap. PGMA is
my app and PEP and PGMB is another app that I am calling:

PGMA running activation group 'GROUP1'
Calls PGMB activation group *CALLER.

If PGMB does something like

D value s 20a Based(ptr)
ptr = %Alloc(10) ;
Clear value;
Return;

This potentially causes PGMA to fail (through no fault of his own) due to
the memory over write. I'm thinking I can use a different activation group
to protect myself from PGMB doing something stupid. He may fail eventually
but it won't affect PGMA.

PGMA activation group 'GROUP1'
Calls PGMA1 activation group 'GROUP2'
Calls PGMB activation group *CALLER.

This would create a boundary between PGMA and PGMB right?


Thanks for any input.

Zach


NOTICE: This electronic mail message and any files transmitted with it are
intended
exclusively for the individual or entity to which it is addressed. The
message,
together with any attachment, may contain confidential and/or privileged
information.
Any unauthorized review, use, printing, saving, copying, disclosure or
distribution
is strictly prohibited. If you have received this message in error, please
immediately advise the sender by reply email and delete all copies.
--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L)
mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.