List Info

Thread: CR needed: Helix metadata utility crashes.




CR needed: Helix metadata utility crashes.
user name
2007-08-14 13:05:20

"Nokia submits this code under the terms of a commercial contribution agreement with RealNetworks, and I am authorized to contribute this code under said agreement."

 
Modified by:  yury.ramanovichnokia.com
 
Reviewed by:
 
Date: 08/14/2007
 
Project: SymbianMmf_rel
 
ErrorId:  THSH-74QTD6
 
Synopsis: Helix metadata utility crashes.

The problem here is that instance of CContent constructed via CContent::NewLC is assigned to member ptr of CHXDataSourceCContent class; then when leave happens, cleanup stack cleans up memory allocated for this instance, but so tries ; CHXDataSourceCContent's destructor resulting in double deletion -> hence crash.

Solution is to use NewL() instead of NewLC.


Files modified:
/common/fileio/platform/symbian/hxdatasource_ccontent.cpp

Files added:
None.

RCS file: /cvsroot/common/fileio/platform/symbian/hxdatasource_ccontent.cpp,v
retrieving revision 1.1.2.2
diff -u -w -r1.1.2.2 hxdatasource_ccontent.cpp
--- hxdatasource_ccontent.cpp   22 May 2007 14:38:40 -0000 ;     1.1.2.2
+++ hxdatasource_ccontent.cpp   14 Aug 2007 17:41:34 -0000
-124,17 +124,14
     TPtrC8 desFileName((TUint8 *)pFileName, strlen(pFileName));
     fileName.Copy(desFileName);
 
-    m_pContent = CContent::NewLC(fileName);
+    m_pContent = CContent::NewL(fileName);
     m_pCData   = m_pContent->OpenContentL(m_intent, EContentShareReadOnly);
-
-    CleanupStack::Pop(m_pContent);
 }
 
 void CHXDataSourceCContent::ConstructL(RFile *pFileHandle)
 {
-    m_pContent = CContent::NewLC((RFile&)*pFileHandle);
+    m_pContent = CContent::NewL((RFile&)*pFileHandle);
     m_pCData   = m_pContent->OpenContentL(m_intent, EContentShareReadOnly);
-    CleanupStack::Pop(m_pContent);
 }
 
 STDMETHODIMP CHXDataSourceCContent::Close()



Image Size and Heap Use impact: N/A

Module Release testing (STIF) : Yes, Passed

Test case(s) Added ; : No
 
Memory leak check performed : Yes. No new memory leaks introduced.
 
Platforms and Profiles Build Verified: helix-client-s60-32-mmf-mdf-arm

Platforms and Profiles Functionality verified: armv5, winscw
 
Branch: Head & 210CayS




Re: CR needed: Helix metadata utility crashes.
country flaguser name
United States
2007-08-15 10:11:40
Looks good.
--greg.

Yury.Ramanovichnokia.com wrote:
> "Nokia submits this code under the terms of a
commercial contribution
> agreement with RealNetworks, and I am authorized to
contribute this code
> under said agreement."
>  
> Modified by:  yury.ramanovichnokia.com
>  
> Reviewed by: 
>  
> Date: 08/14/2007
>  
> Project: SymbianMmf_rel
>  
> ErrorId:  THSH-74QTD6
>  
> Synopsis: Helix metadata utility crashes.
> 
> The problem here is that instance of CContent
constructed via
> CContent::NewLC is assigned to member ptr of
CHXDataSourceCContent
> class; then when leave happens, cleanup stack cleans up
memory allocated
> for this instance, but so tries 
CHXDataSourceCContent's destructor
> resulting in double deletion -> hence crash.
> Solution is to use NewL() instead of NewLC.
> 
> 
> Files modified:
>
/common/fileio/platform/symbian/hxdatasource_ccontent.cpp
> 
> Files added:
> None.
> 
> RCS file:
>
/cvsroot/common/fileio/platform/symbian/hxdatasource_cconten
t.cpp,v
> retrieving revision 1.1.2.2
> diff -u -w -r1.1.2.2 hxdatasource_ccontent.cpp
> --- hxdatasource_ccontent.cpp	22 May 2007 14:38:40
-0000	1.1.2.2
> +++ hxdatasource_ccontent.cpp	14 Aug 2007 17:41:34
-0000
>  -124,17 +124,14 
>      TPtrC8 desFileName((TUint8 *)pFileName,
strlen(pFileName));
>      fileName.Copy(desFileName);
>  
> -    m_pContent = CContent::NewLC(fileName);
> +    m_pContent = CContent::NewL(fileName);
>      m_pCData   =
m_pContent->OpenContentL(m_intent,
> EContentShareReadOnly);
> -
> -    CleanupStack::Pop(m_pContent);
>  }
>  
>  void CHXDataSourceCContent::ConstructL(RFile
*pFileHandle)
>  {
> -    m_pContent =
CContent::NewLC((RFile&)*pFileHandle);
> +    m_pContent =
CContent::NewL((RFile&)*pFileHandle); 
>      m_pCData   =
m_pContent->OpenContentL(m_intent,
> EContentShareReadOnly);
> -    CleanupStack::Pop(m_pContent);
>  }
>  
>  STDMETHODIMP CHXDataSourceCContent::Close()
> 
> 
> 
> Image Size and Heap Use impact: N/A
> 
> Module Release testing (STIF) : Yes, Passed
> 
> Test case(s) Added  : No
>   
> Memory leak check performed : Yes. No new memory leaks
introduced.
>   
> Platforms and Profiles Build Verified:
helix-client-s60-32-mmf-mdf-arm
> 
> Platforms and Profiles Functionality verified: armv5,
winscw 
>   
> Branch: Head & 210CayS
> 
> 
> 
> 
> 
> 
> 
>
------------------------------------------------------------
------------
> 
> _______________________________________________
> Common-dev mailing list
> Common-devhelixcommunity.org
> http://lists.helixcommunity.org/mailman/listinfo/comm
on-dev


_______________________________________________
Common-dev mailing list
Common-devhelixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/comm
on-dev

RE: CR needed: Helix metadata utility crashes.
user name
2007-08-15 14:02:52
Thanks, Greg. Checked in to hxclient_2_1_0_cayennes and
HEAD.

Thanks
Yury
 

>-----Original Message-----
>From: ext Greg Wright [mailto:gwrightreal.com]

>Sent: Wednesday, August 15, 2007 10:12 AM
>To: Ramanovich Yury (Nokia-TP-MSW/Dallas)
>Cc: common-devhelixcommunity.org
>Subject: Re: [Common-dev] CR needed: Helix metadata
utility crashes.
>
>Looks good.
>--greg.
>
>Yury.Ramanovichnokia.com wrote:
>> "Nokia submits this code under the terms of a
commercial 
>contribution 
>> agreement with RealNetworks, and I am authorized to
contribute this 
>> code under said agreement."
>>  
>> Modified by:  yury.ramanovichnokia.com
>>  
>> Reviewed by: 
>>  
>> Date: 08/14/2007
>>  
>> Project: SymbianMmf_rel
>>  
>> ErrorId:  THSH-74QTD6
>>  
>> Synopsis: Helix metadata utility crashes.
>> 
>> The problem here is that instance of CContent
constructed via 
>> CContent::NewLC is assigned to member ptr of
CHXDataSourceCContent 
>> class; then when leave happens, cleanup stack
cleans up memory 
>> allocated for this instance, but so tries 
CHXDataSourceCContent's 
>> destructor resulting in double deletion -> hence
crash.
>> Solution is to use NewL() instead of NewLC.
>> 
>> 
>> Files modified:
>>
/common/fileio/platform/symbian/hxdatasource_ccontent.cpp
>> 
>> Files added:
>> None.
>> 
>> RCS file:
>>
/cvsroot/common/fileio/platform/symbian/hxdatasource_cconten
t.cpp,v
>> retrieving revision 1.1.2.2
>> diff -u -w -r1.1.2.2 hxdatasource_ccontent.cpp
>> --- hxdatasource_ccontent.cpp	22 May 2007 14:38:40

>-0000	1.1.2.2
>> +++ hxdatasource_ccontent.cpp	14 Aug 2007 17:41:34
-0000
>>  -124,17 +124,14 
>>      TPtrC8 desFileName((TUint8 *)pFileName,
strlen(pFileName));
>>      fileName.Copy(desFileName);
>>  
>> -    m_pContent = CContent::NewLC(fileName);
>> +    m_pContent = CContent::NewL(fileName);
>>      m_pCData   =
m_pContent->OpenContentL(m_intent,
>> EContentShareReadOnly);
>> -
>> -    CleanupStack::Pop(m_pContent);
>>  }
>>  
>>  void CHXDataSourceCContent::ConstructL(RFile
*pFileHandle)  {
>> -    m_pContent =
CContent::NewLC((RFile&)*pFileHandle);
>> +    m_pContent =
CContent::NewL((RFile&)*pFileHandle);
>>      m_pCData   =
m_pContent->OpenContentL(m_intent,
>> EContentShareReadOnly);
>> -    CleanupStack::Pop(m_pContent);
>>  }
>>  
>>  STDMETHODIMP CHXDataSourceCContent::Close()
>> 
>> 
>> 
>> Image Size and Heap Use impact: N/A
>> 
>> Module Release testing (STIF) : Yes, Passed
>> 
>> Test case(s) Added  : No
>>   
>> Memory leak check performed : Yes. No new memory
leaks introduced.
>>   
>> Platforms and Profiles Build Verified: 
>helix-client-s60-32-mmf-mdf-arm
>> 
>> Platforms and Profiles Functionality verified:
armv5, winscw
>>   
>> Branch: Head & 210CayS
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>--------------------------------------------------------
--------------
>> --
>> 
>> _______________________________________________
>> Common-dev mailing list
>> Common-devhelixcommunity.org
>> http://lists.helixcommunity.org/mailman/listinfo/comm
on-dev
>
>

_______________________________________________
Common-dev mailing list
Common-devhelixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/comm
on-dev

[1-3]

about | contact  Other archives ( Real Estate discussion Medical topics )