title: 0xC0000005: Access violation reading location 0x00000000 hashfunc
body: <p>Im trying to execute my program and receive this error message 
  Here my main</p>
  
  <pre><code>int numofsect=2;
  unsigned char** hash_table;
  hash_table = new unsigned char*[numofsect];
  for (int i=0; i &lt; numofsect; i++)
      hash_table[i] = new unsigned char[CryptoPP::SHA::DIGESTSIZE];
  char** tab;
  tab = new char*[numofsect];
  for (int i=0; i&lt; numofsect; i++)
      tab[i] = new char[5];
  int* tabsize;
  tabsize = new int[2];
  tabsize[0]=5;
  tabsize[1]=5;
  
  printf("Type sections:\n");
  printf("Sect1: ");
  scanf("%s", tab[0]);
  printf("\nSect2: ");
  scanf("%s", tab[1]);
  hasher(numofsect, tab, tabsize, hash_table);
  printf("Your hashed tab is:\n");
  printf("hash sect1: ");
  printf("%s",hash_table[0]);
  printf("\nhash sect2: ");
  printf("%s",hash_table[1]);
  
  delete[] hash_table;
  delete[] tab;
  delete[] tabsize;
  </code></pre>
  
  <p>Here my hash func:</p>
  
  <pre><code>void hasher (int num_of_sect, char** sect_tab, int* size_of_sect_tab, unsigned char** hash_tab )
  {
    for (int i=0 ; i&lt;=num_of_sect ; i++) { // i is the number of each secion
      byte haSha1[CryptoPP::SHA::DIGESTSIZE]; //Byte table to calculate the hash of the section i
      byte* chaine = (byte*)malloc(sizeof(byte)*size_of_sect_tab[i]); //chaine reiceive the byte stream of the section i
      for (int j=0 ; j&lt;size_of_sect_tab[i]; j++) //j is the n-th byte of the section
          chaine[j]=sect_tab[i][j]; //copy each byte of the sect_tab in the chaine
  
  
      CryptoPP::SHA().CalculateDigest(haSha1, chaine, size_of_sect_tab[i]); //Hash the section and return it in haSha1
      for (int j=0; j&lt;CryptoPP::SHA::DIGESTSIZE; j++) //j is the n-th byte of the hashed section
          hash_tab[i][j]=haSha1[j]; //copy each byte of the hash to the hash_table
    }
  }
  </code></pre>
  
  <p>Thanks for your help</p>