title: Why get a partial data range with subdataWithRange crashes?
body: <p>I have this code:</p>
  
  <pre><code> NSMutableData *derivedKey = [NSMutableData dataWithLength:32];
  
   // code missing..fill somehow the derivedKey with 32 random bytes
  
   // This line doesn't crash
   NSData *iv = [derivedKey subdataWithRange:NSMakeRange(0, 32)];
  </code></pre>
  
  <p>..</p>
  
  <pre><code>// This line crashes 
   NSData *iv = [derivedKey subdataWithRange:NSMakeRange(16, 32)];
  </code></pre>
  
  <p>Any suggestion why this happens ?
  It seems that somehow only the whole range from 0 - 32 passes 
  I wanna simple a new NSData variable which contains only the second half of the bytes</p>