TIP: Click on subject to list as thread! ANSI
echo: fidosoft.husky
to: Michael Pierce
from: andrew clarke
date: 2021-02-21 07:59:00
subject: decode_subfield()

On 2021-02-19 07:20:46, andrew clarke (3:633/267) wrote to Michael Pierce:

 ac> There's definitely NQR in the JAM code in the OW2.0 version on Windows:

 H:\tmp\hpt>> hpt scan
 ac> 1 07:18:16   Start
 ac> 1 07:18:16   Start scanning...
 ac> 1 07:18:16   EchoTossLogFile not found -> Scanning all areas
 ac> 1 07:18:16   Scanning area: jamtest
 ac> Assertion Failed: subfieldNext->Buffer <= (byte *)*subfield +
 ac> subfield[0]->arraySize, function decode_subfield, file
 ac> ../src/structrw.c, line 961. ABNORMAL TERMINATION

To my surprise I got this error on FreeBSD too.

Turns out it was an upstream bug in structrw.c, introduced on 2021-02-14, that affected all platforms.

old:

-    len = sizeof(JAMSUBFIELD2LIST) + count *
-          (sizeof(JAMSUBFIELD2) - JAM_SF_HEADER_SIZE + 1) + *SubfieldLen;

new:

+    len = offsetof(JAMSUBFIELD2LIST, subfield) + count *
+          (sizeof(JAMSUBFIELD2) - JAM_SF_HEADER_SIZE + 1) + (size_t)*SubfieldLen;

Evidently these two things don't do the same thing. :)

I've reverted the change in the zoomosis/smapi repo, which will hopefully be reverted upstream shortly.

--- GoldED+/BSD 1.1.5-b20180707
                                                            
* Origin: Blizzard of Ozz, Melbourne, Victoria, Australia (3:633/267)

SOURCE: echomail via QWK@pharcyde.org

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.