-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Description
In patches and contracts, one can specify arguments and argument sources of different varieties, i.e., variable, symbol, return value, and so on. In the case the patch writer references something that doesn't exist, or using the wrong type
- example 1:
usb_device_t *validates because we only check it is a pointer, we don't check any struct members, and we don't need type information for it, but it's there and should beusb_device * - example 2: it's possible to mistype an argument or argument source and create a patch that will apply to the program in question, but that could cause the program to segfault or just not work well, eg accidentally widening or narrowing of type, mis-stating array size, using a pointer or reference where the other one should be used
A kind of validation we could do would be some form of patch validation in situ with the rest of the program we are patching, maybe statically.
Metadata
Metadata
Assignees
Labels
No labels