POV-Ray : Newsgroups : povray.beta-test : strings operations crash with both compiles Server Time
30 Jul 2024 14:29:01 EDT (-0400)
  strings operations crash with both compiles (Message 1 to 4 of 4)  
From:
Subject: strings operations crash with both compiles
Date: 7 Nov 2001 11:44:53
Message: <e3piut8anmf4cli4pnfmstadgc3nleqvb2@4ax.com>
POV 3.5 b7 NT 4 Sp6 PII 233 128 MB

following code causes crash with both compile of b7

#local S="H1676688"

#macro M(V)
  #local S=chr(mod(V,123))
  #local F=div(V,123);
  #if(F>0)
    #local S=concat(S,M(F));
  #end
  S
#end

#macro P(S)
  #local V=asc(substr(S,1,1))-asc("A");
  #local T=val(substr(S,2,V));
  #local S=substr(S,V+2,strlen(S)-(V+3))
  #local O=M(T);
  #if(strlen(S)>0)
    #local O=concat(O,P(S));
  #end
  O
#end

#warning P(S)

ABX


Post a reply to this message

From: Thorsten Froehlich
Subject: Re: strings operations crash with both compiles
Date: 7 Nov 2001 15:50:48
Message: <3be99ea8@news.povray.org>

Skiba <abx### [at] babilonorg>  wrote:

> following code causes crash with both compile of b7

This bug is clearly:

Macro bug (job000146)
(POV can dereference a deallocated pointer if you return a local from a
macro.)
http://news.povray.org/3BB4ED11.8EC69CEC@hotmail.com

____________________________________________________
Thorsten Froehlich, Duisburg, Germany
e-mail: tho### [at] trfde

Visit POV-Ray on the web: http://mac.povray.org


Post a reply to this message

From:
Subject: Re: strings operations crash with both compiles
Date: 8 Nov 2001 03:05:17
Message: <j2fkutgrukn4l45orhmve7env5r8gtsgqe@4ax.com>
On Wed, 07 Nov 2001 21:50:48 +0100, "Thorsten Froehlich" <tho### [at] trfde>
wrote:

> In article <e3piut8anmf4cli4pnfmstadgc3nleqvb2@4ax.com> , Wlodzimierz ABX 
> Skiba <abx### [at] babilonorg>  wrote:
>
>> following code causes crash with both compile of b7
>
> This bug is clearly:
>
> Macro bug (job000146)
> (POV can dereference a deallocated pointer if you return a local from a
> macro.)

Probably you are right but I want add my next note. When I connect first and
last line of script to: #warning P("H1676688") then everything works fine. The
change has nothing to #local return from macro IMO.

ABX
--
#declare _=function(a,b,x){((a^2)+(b^2))^.5-x}#default {pigment{color rgb 1}}
union{plane{y,-3}plane{-x,-3}finish{reflection 1 ambient 0}}isosurface{ //ABX
function{_(x-2,y,1)|_((x+y)*.7,z,.1)|_((x+y+2)*.7,z,.1)|_(x/2+y*.8+1.5,z,.1)}
contained_by{box{<0,-3,-.1>,<3,0,.1>}}translate z*15finish{ambient 1}}//POV35


Post a reply to this message

From: Thorsten Froehlich
Subject: Re: strings operations crash with both compiles
Date: 8 Nov 2001 03:36:40
Message: <3bea4418@news.povray.org>

Skiba <abx### [at] babilonorg>  wrote:

> Probably you are right but I want add my next note. When I connect first and
> last line of script to: #warning P("H1676688") then everything works fine. The
> change has nothing to #local return from macro IMO.

The bug has to do with an invalid pointer.  Random crashes are the obvious
result, so yes, it is possible that it may work *sometimes*.


    Thorsten


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.