• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Get MD5 without crashing
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Get MD5 without crashing


  • Subject: Re: Get MD5 without crashing
  • From: "Mr. Gecko" <email@hidden>
  • Date: Tue, 4 Nov 2008 10:41:34 -0600

now that I added a auto release pool it crashes later on. but it doesn't have to do with MD5 anymore it has to do with the hexdump of SSCrypto.
0 libSystem.B.dylib 0xffff07c7 __memcpy + 39
1 libobjc.A.dylib 0x9347c13e fixupSelectorsInMethodList + 99
2 libobjc.A.dylib 0x9347d426 _class_getMethodNoSuper + 150
3 libobjc.A.dylib 0x9347355e _class_lookupMethodAndLoadCache + 182
4 libobjc.A.dylib 0x93483736 objc_msgSend + 102
5 libobjc.A.dylib 0x934734f9 _class_lookupMethodAndLoadCache + 81
6 libobjc.A.dylib 0x93483736 objc_msgSend + 102
7 com.apple.CoreFoundation 0x9364a241 __CFStringChangeSizeMultiple + 1985
8 com.apple.CoreFoundation 0x9364dfc8 __CFStringCheckAndReplace + 280
9 com.apple.Foundation 0x94d7fde4 -[NSCFString appendString:] + 68
10 com.septicus.SSCrypto 0x20001243 -[NSData(HexDump) hexval] + 174
I'll try a few more things and see if that fixes it.


On Nov 4, 2008, at 7:56 AM, Roland King wrote:

does SSCrypto follow a different pattern from normal Cocoa objects? It's being created with alloc/init and that, for cocoa objects, gives it a retain count of 1, you own it, you have to release it.

SSCrypto *crypto = [[SSCrypto alloc] init];

I note also that the examples on the SSCrypto site show the alloc/ init + release pattern.



On Nov 4, 2008, at 9:48 PM, Alex Heinz wrote:

The SSCrypto object doesn't need to be released; it isn't being retained, and doesn't leave the scope of the function. It will be deallocated when control leaves the function.

Alex

On Nov 4, 2008, at 12:09 AM, Roland King wrote:

well no that would leak since then the crypto object wouldn't get released. Also, I don't have the documentation for SSCrypto but I'd have thought whatever the digest returns is already autoreleased, so releasing it again would be wrong.

Question is how are you calling this? Is there an autorelease pool set up somewhere which is actually getting purged? All autorelease is doing is sticking it on the autorelease pool, if nothing cleans up the pool, it'll just hang onto them forever.

What crash are you getting, are you getting out of memory or are you getting a crash because you're accessing an already freed object or freeing it twice?

Alex Heinz wrote:

You probably want [[[crypto digest:@"MD5"] hexval] autorelease]. This will add the NSString object to the autorelease pool, instead of the SSCrypto object, as you are doing now.

HTH,
Alex

On Nov 3, 2008, at 9:05 PM, Mr. Gecko wrote:

Hello I am trying to MD5 a whole bunch of strings and I choose SSCrypto for it, but for some reason, it crashes because of memory. I know it has to do with releasing, I haven't found much details on when to use release and autorelease; so this is a huge task for me to find out.
Here is my method I have made.
- (NSString *)md5:(NSString *)MD5 {
SSCrypto *crypto = [[SSCrypto alloc] init];
[crypto setClearTextWithString:MD5];


return [[[crypto autorelease] digest:@"MD5"] hexval];
}
if you could point out what I am doing wrong, I would be great full.


Thanks,
Mr. Gecko
_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com


Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden

_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com


Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden



_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Follow-Ups:
    • Re: Get MD5 without crashing
      • From: Andy Lee <email@hidden>
References: 
 >Get MD5 without crashing (From: "Mr. Gecko" <email@hidden>)
 >Re: Get MD5 without crashing (From: Alex Heinz <email@hidden>)
 >Re: Get MD5 without crashing (From: Roland King <email@hidden>)
 >Re: Get MD5 without crashing (From: Alex Heinz <email@hidden>)
 >Re: Get MD5 without crashing (From: Roland King <email@hidden>)

  • Prev by Date: RE: properties, threads, and KVO
  • Next by Date: Use named constants, not literal strings (was Re: Please help. At wit's end binding NSPopupButtonCell selection)
  • Previous by thread: Re: Get MD5 without crashing
  • Next by thread: Re: Get MD5 without crashing
  • Index(es):
    • Date
    • Thread