Creport: Difference between revisions
No edit summary |
|||
Line 114: | Line 114: | ||
** Prev code: <code>if(<loadedval> != 1)return;</code> New code: <code>if(<loadedval> != 1)<jump over the two following func calls which are the same as prev ver></code> | ** Prev code: <code>if(<loadedval> != 1)return;</code> New code: <code>if(<loadedval> != 1)<jump over the two following func calls which are the same as prev ver></code> | ||
** Following the two funcs mentioned above, prev code: <code>if(<loadedval> == 1 && (u8 *(ptr+1) & 1) == 0)<call func>; return;</code> New code: <code>if(inarg_flag != '1' && (u8 *(ptr+1) & 1) == 0 && ((u8 *(ptr+0) ^ 0x1) & 0x1) == 0)<call func>; return;</code> | ** Following the two funcs mentioned above, prev code: <code>if(<loadedval> == 1 && (u8 *(ptr+1) & 1) == 0)<call func>; return;</code> New code: <code>if(inarg_flag != '1' && (u8 *(ptr+1) & 1) == 0 && ((u8 *(ptr+0) ^ 0x1) & 0x1) == 0)<call func>; return;</code> | ||
** <call func> here is throw_fatalerr(ptr+4). The above second block basically changed the conditions required for throwing fatal-error. For example, fatal-error is no longer thrown when applications | ** <call func> here is throw_fatalerr(ptr+4). The above second block basically changed the conditions required for throwing fatal-error. For example, fatal-error is no longer thrown when applications crash. |