HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

1.24b false negatives/positives?

08-13-2009, 02:17 PM#1
Vexorian
Is there a way to be sure that they switched to checking the return type in 1.24b ? Should anyone reverse engineer that part of the new patch or find a false negative/positive please post it so we can get confirmations.

(Make sure you got the latest patch from westfall before posting, damnit)
08-14-2009, 06:19 PM#2
Mr.Malte
No, I don't know.
But this:

Collapse JASS:
function H2I takes handle h returns integer
return h
call DoNothing()
return 0
endfunction

still works.
08-14-2009, 06:40 PM#3
Troll-Brain
Integer2Code, Code2Integer still works also ?
08-14-2009, 06:45 PM#4
HINDYhat
Quote:
Originally Posted by Vexorian
(Make sure you got the latest patch from westfall before posting, damnit)
Malte, GTFO. The return bug exploit no longer works in 1.24b. It does not compile. Based on what I've tested, it seems that they now check return types. I wrote this for lulz:
Collapse JASS:
function H2C takes handle h returns code
    return h
    set h = h
    return null
endfunction
Since 'null' is applicable to code and handle types, and it does not compile either.
08-14-2009, 06:52 PM#5
Captain Griffen
Quote:
Originally Posted by HINDYhat
Malte, GTFO. The return bug exploit no longer works in 1.24b. It does not compile. Based on what I've tested, it seems that they now check return types. I wrote this for lulz:
Collapse JASS:
function H2C takes handle h returns code
    return h
    set h = h
    return null
endfunction
Since 'null' is applicable to code and handle types, and it does not compile either.

Hindyfoo', set h = h didn't work in 1.23b/1.24, but call DoNothing() did (no idea why, seems no rhyme or reason there).

However, Mr.Malte, did you actually test if it works *properly*, rather than just compiles? And, if no, can you use the same countering methods of wrapper functions that we did last time?
08-14-2009, 06:53 PM#6
HINDYhat
Lies, set h = h always worked. In fact it's what I used, nub, because it was shorter to write. I'm 1000% sure that it worked. Also, DoNothing() doesn't work either, fgt.

I tested all of the possible return bug workarounds that were established, and neither of them worked:
Collapse JASS:
return h
set h = h
return 0

if true then
    return h
endif
return 0

return h
call DoNothing()
return 0
They all gave compile errors.
08-14-2009, 07:03 PM#7
Troll-Brain
Be sure to test it with the official editor HINDYhat.
AFAIK with the actual official patch the new jasshelper (j.0) detect it as an error and official editor doesn't.
08-14-2009, 07:05 PM#8
HINDYhat
I'm using 0.9.I.2, so JH does not detect anything.
08-14-2009, 07:08 PM#9
Troll-Brain
Ok, but did you try only integer <-> code ?
Maybe it is the exception and still works with handle <-> integer ?
08-14-2009, 07:09 PM#10
ToukoAozaki
Quote:
Originally Posted by Troll-Brain
Be sure to test it with the official editor HINDYhat.
AFAIK with the actual official patch the new jasshelper (j.0) detect it as an error and official editor doesn't.

Well, the beta one does. Vanilla WE gave compilation errors, though it gave wrong line numbers. NewGen with JH still compiled it, but 1.24b refused to run.

Quote:
Originally Posted by Troll-Brain
Ok, but did you try only integer <-> code ?
Maybe it is the exception and still works with handle <-> integer ?

I'm quite sure H<->I doesn't work. At my first test it seemed to work as return null worked fine, but it didn't when I fed actual handle variable. It seems that JH compiles null into integer when applicable...
08-14-2009, 07:12 PM#11
HINDYhat
Troll-Brain jesus I tried everything okay?
08-14-2009, 07:15 PM#12
Troll-Brain
Quote:
Originally Posted by HINDYhat
Troll-Brain jesus I tried everything okay?
That's ok, don't get on nerves for that, i'm just asking ...
08-14-2009, 07:42 PM#13
Karawasa
Quote:
Originally Posted by HINDYhat
Malte, GTFO.

Quote:
Originally Posted by HINDYhat
Lies, set h = h always worked. In fact it's what I used, nub, because it was shorter to write.

Quote:
Originally Posted by HINDYhat
Troll-Brain jesus I tried everything okay?

Must be a real pain in the ass to be around you in real life.
08-14-2009, 07:54 PM#14
HINDYhat
<3
08-16-2009, 08:10 AM#15
Troll-Brain
OFF-TOPIC

The war3 crash when we use the index 8191 of an array variable, and you are loading a saved game still exist ?
I guess yes, just to know.