You are viewing a plain text version of this content. The canonical link for it is here.
Posted to embperl-cvs@perl.apache.org by ri...@apache.org on 2007/01/23 06:31:47 UTC

svn commit: r498924 - in /perl/embperl/trunk: Changes.pod Embperl/Form/Control/selectdyn.pm MANIFEST epdom.c test.pl test/cmp/inputattr.htm test/html/inputattr.htm

Author: richter
Date: Mon Jan 22 21:31:44 2007
New Revision: 498924

URL: http://svn.apache.org/viewvc?view=rev&rev=498924
Log:
    - Fixed segfault that might occurs when an value of an input
      attribute is removed. Spotted by Andrew Sitnikov.


Added:
    perl/embperl/trunk/test/cmp/inputattr.htm
    perl/embperl/trunk/test/html/inputattr.htm
Modified:
    perl/embperl/trunk/Changes.pod
    perl/embperl/trunk/Embperl/Form/Control/selectdyn.pm
    perl/embperl/trunk/MANIFEST
    perl/embperl/trunk/epdom.c
    perl/embperl/trunk/test.pl

Modified: perl/embperl/trunk/Changes.pod
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Changes.pod?view=diff&rev=498924&r1=498923&r2=498924
==============================================================================
--- perl/embperl/trunk/Changes.pod (original)
+++ perl/embperl/trunk/Changes.pod Mon Jan 22 21:31:44 2007
@@ -13,6 +13,8 @@
       Patch from Kathryn Andersen.
     - Fixed timezone compiletime error on Mac OS-X. Patch from
       Wolfgang Kinkeldei.
+    - Fixed segfault that might occurs when an value of an input
+      attribute is removed. Spotted by Andrew Sitnikov.
 
 =head1 2.2.0  8. Apr. 2006
 

Modified: perl/embperl/trunk/Embperl/Form/Control/selectdyn.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/selectdyn.pm?view=diff&rev=498924&r1=498923&r2=498924
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/selectdyn.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/selectdyn.pm Mon Jan 22 21:31:44 2007
@@ -76,14 +76,15 @@
 
 [# --- Popup --- #]
 <div class="cPopupMenu" id="_menu_[+ $jsname +]"
-style="display:none; position: absolute; top: 16px; z-index: 99; margin: 0px; padding: 0px;
+style="display:none; position: absolute; top: 15px; z-index: 99; margin: 0px; padding: 0px;
 border: 2px grey outset; background: white; text-align: center;"
 >
 
 <a href="#" onClick="location.href='ldapTreeData.epl?-id=' + encodeURIComponent([+ $jsname +]Popup.idval)">Anzeigen</a>&nbsp;
+[#
 <a href="#" onClick="alert('ldapTreeData.epl?-id=' + [+ $jsname +]Popup.idval)">Durchsuchen</a>&nbsp;
 <a href="ldapTreeData?-id=">Neu</a>
-
+#]
 <div class="cPopupContainer" id="_info_[+ $jsname +]" style="margin: 0px; padding: 0px;">
 </div>
 </div>

Modified: perl/embperl/trunk/MANIFEST
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/MANIFEST?view=diff&rev=498924&r1=498923&r2=498924
==============================================================================
--- perl/embperl/trunk/MANIFEST (original)
+++ perl/embperl/trunk/MANIFEST Mon Jan 22 21:31:44 2007
@@ -321,6 +321,7 @@
 test/cmp/incxmlLibXSLT.htm
 test/cmp/incxmlXalanXSLT.htm
 test/cmp/input.htm
+test/cmp/inputattr.htm
 test/cmp/inputjava.htm
 test/cmp/inputjs2.htm
 test/cmp/java.htm
@@ -525,6 +526,7 @@
 test/html/incxmlLibXSLT.htm
 test/html/incxmlXalanXSLT.htm
 test/html/input.htm
+test/html/inputattr.htm
 test/html/inputdisable.htm
 test/html/inputjava.htm
 test/html/inputjs2.htm

Modified: perl/embperl/trunk/epdom.c
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/epdom.c?view=diff&rev=498924&r1=498923&r2=498924
==============================================================================
--- perl/embperl/trunk/epdom.c (original)
+++ perl/embperl/trunk/epdom.c Mon Jan 22 21:31:44 2007
@@ -895,8 +895,9 @@
 
     numStr++ ;
 
+    
     /*
-    if (nNdx < 6 || nNdx == 92)
+    if (nNdx < 6 || nNdx == 124)
     	lprintf (a, "new string %s (#%d) refcnt=%d\n", Ndx2String (nNdx), nNdx, SvREFCNT(pSVNdx)) ;
     */
 
@@ -4194,11 +4195,11 @@
 
     if (pAttr)
 	{
-	pAttr -> bFlags = 0 ;
 	if (pAttr -> xName)
 	    NdxStringFree (a, pAttr -> xName) ;
 	if (pAttr -> xValue && (pAttr -> bFlags & aflgAttrValue))
 	    NdxStringFree (a, pAttr -> xValue) ;
+	pAttr -> bFlags = 0 ;
 	}
 
     /*
@@ -4299,7 +4300,7 @@
 
     ASSERT_ATTR_VALID(a,pAttr) ;
       
-      if (!pAttr)
+      if (!pAttr || pAttr -> bFlags == aflgDeleted)
 	return NULL ;
 /* lprintf (a, "selvalue 1 f=%x a=%x aa=%x an=%d off=%d av=%d\n", pAttr -> bFlags , aflgAttrChilds, pAttr, pAttr -> xNdx, pAttr -> nNodeOffset, pAttr -> xValue) ; */
 

Modified: perl/embperl/trunk/test.pl
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/test.pl?view=diff&rev=498924&r1=498923&r2=498924
==============================================================================
--- perl/embperl/trunk/test.pl (original)
+++ perl/embperl/trunk/test.pl Mon Jan 22 21:31:44 2007
@@ -267,6 +267,7 @@
     'inputjs2.htm' => {
         'version'    => 2,
      },
+    'inputattr.htm' => { },
     'heredoc.htm' => { },
     'epglobals.htm' => {},
     'keepspaces.htm' => { 

Added: perl/embperl/trunk/test/cmp/inputattr.htm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/test/cmp/inputattr.htm?view=auto&rev=498924
==============================================================================
--- perl/embperl/trunk/test/cmp/inputattr.htm (added)
+++ perl/embperl/trunk/test/cmp/inputattr.htm Mon Jan 22 21:31:44 2007
@@ -0,0 +1,25 @@
+<table>
+<tr> 
+	<td><input type="text" name="firma"  size="41" maxlength="50" value=""  class="formm">
+</tr>
+	
+<tr> 
+	<td><input type="text" name="adr"  size="41" maxlength="70"  class="formm">
+</tr>
+	
+<tr> 
+	<td><input type="text" name="adr1"  size="41" maxlength="70"  class="formm">
+</tr>
+	
+<tr>
+	<td><input type="text" name="tel"  size="15" maxlength="15" value=""  class="formm">
+</tr>
+	
+<tr> 
+	<td><input type="text" name="tel1"  size="15" maxlength="15" value=""  class="formm">
+</tr>
+	
+<tr>
+	<td><input type="text" name="em"  size="41" maxlength="50"  class="formm">
+</tr>
+</table>

Added: perl/embperl/trunk/test/html/inputattr.htm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/test/html/inputattr.htm?view=auto&rev=498924
==============================================================================
--- perl/embperl/trunk/test/html/inputattr.htm (added)
+++ perl/embperl/trunk/test/html/inputattr.htm Mon Jan 22 21:31:44 2007
@@ -0,0 +1,25 @@
+<table>
+<tr> 
+	<td><input type="text" name="firma" size="41" maxlength="50" value="[+$r+]" class="formm">
+</tr>
+	
+<tr> 
+	<td><input type="text" name="adr" size="41" maxlength="70" [$ if ($r) $]value="[+$r+]" [$ endif $]class="formm">
+</tr>
+	
+<tr> 
+	<td><input type="text" name="adr1" size="41" maxlength="70" [$ if ($r) $]value="[+$r+]" [$ endif $]class="formm">
+</tr>
+	
+<tr>
+	<td><input type="text" name="tel" size="15" maxlength="15" value="[+$r+]" class="formm">
+</tr>
+	
+<tr> 
+	<td><input type="text" name="tel1" size="15" maxlength="15" value="[+$r+]" class="formm">
+</tr>
+	
+<tr>
+	<td><input type="text" name="em" size="41" maxlength="50" [$ if ($r) $]value="[+$r+]" [$ endif $]class="formm">
+</tr>
+</table>



---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-cvs-unsubscribe@perl.apache.org
For additional commands, e-mail: embperl-cvs-help@perl.apache.org