title: Is something leaking from the following code
body: <p>My app seems to be crashing on some line (console does not give exact idea). I just get Program received ERROR signal. Could you please let me know if there is some leak or other issue in the following code...I am releasing the properties in dealloc method;</p>
  
  <pre><code>- (void)viewWillAppear:(BOOL)animated {
      [super viewWillAppear:animated];
      self.curr_rep_date = [[NSMutableString alloc] init];
      retrievedArray = [[Shared sharedManager] books];
  
      NSString *urlstr_replist_curr = [[[NSString alloc] initWithFormat:@"http://xyz.com", [[retrievedArray objectAtIndex:selectedIndex] BookNumber]] autorelease];
      NSData* xmlData_replist = [NSData dataWithContentsOfURL:[NSURL URLWithString:urlstr_replist_curr] ];
      replist_rptdt_dict = (NSMutableDictionary *)PerformXMLXPathQuery(xmlData_replist, @"//XX/YY[@RD]"); 
      replist_rpttype_dict = (NSMutableDictionary *)PerformXMLXPathQuery(xmlData_replist, @"//XX/YY[@RT='A']"); 
  
      NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init]  autorelease];
      [dateFormatter setDateFormat:@"YYYY"];
      NSDate *date = [NSDate date];
      int tmpCurrYearInt = [[dateFormatter stringFromDate:date] intValue];
  
      NSString *tmpRptDt;
      NSMutableArray *tempArrDt;
  
      for (NSDictionary *period in replist_rpttype_dict){
          for (NSDictionary *nodeAttributeArray in [period objectForKey:@"nodeAttributeArray"]){
              NSString *tmpAttrName = [nodeAttributeArray objectForKey:@"attributeName"];
  
              if ([tmpAttrName isEqualToString:@"ReportDate"]) {
                  tmpRptDt = [nodeAttributeArray objectForKey:@"nodeContent"];
  
                  tempArrDt = (NSMutableArray *)[tmpRptDt componentsSeparatedByString:@"-"];
                  tmpYrVal = [[tempArrDt lastObject] intValue];
  
                  if (tmpYrVal == tmpCurrYearInt) {
                      self.curr_rep_date = [NSString stringWithFormat:@"%d", tmpRptDt];
                  }
                  else if (tmpYrVal == (tmpCurrYearInt-1)) {
                      self.curr_rep_date = (NSMutableString *)[tmpRptDt stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@"%d",tmpYrVal] withString:[NSString stringWithFormat:@"%d",(tmpCurrYearInt-1)]];
                  }
                  else if (tmpYrVal == (tmpCurrYearInt-2)) {
                      self.curr_rep_date = (NSMutableString *)[tmpRptDt stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@"%d",tmpYrVal] withString:[NSString stringWithFormat:@"%d",(tmpCurrYearInt-2)]];
                  }
                  else {
                      parse_error_str = [NSMutableString stringWithString:@"Report error"];
                  }
  
              }
          }
      }
      NSLog(@"tmpRptDt is %@, Curr Rep date is %@",tmpRptDt, self.curr_rep_date);
  
      [urlstr_replist_curr release];
  
      [tableView reloadData];
  }
  </code></pre>
  
  <p>In dealloc, I am releasing;</p>
  
  <pre><code>[parse_error_str release];
      [replist_rptdt_dict release];
      [replist_rpttype_dict release];
      [curr_rep_date release];
      [aBook release];
      [tableView release];
  </code></pre>