Diff for /rpl/src/controle.c between versions 1.58 and 1.59

version 1.58, 2016/03/01 22:12:26 version 1.59, 2016/09/27 10:43:23
Line 43  logical1 Line 43  logical1
 controle(struct_processus *s_etat_processus, unsigned char *fichier,  controle(struct_processus *s_etat_processus, unsigned char *fichier,
         unsigned char *type, unsigned char *somme_candidate)          unsigned char *type, unsigned char *somme_candidate)
 {  {
     EVP_MD_CTX          contexte;      EVP_MD_CTX          *contexte;
   
     int                 in_fd;      int                 in_fd;
   
Line 131  controle(struct_processus *s_etat_proces Line 131  controle(struct_processus *s_etat_proces
   
     close(in_fd);      close(in_fd);
   
       if ((contexte = EVP_MD_CTX_new()) == NULL)
       {
           close(in_fd);
           return(d_faux);
       }
   
     if (strcmp(type, "md5") == 0)      if (strcmp(type, "md5") == 0)
     {      {
         if (EVP_DigestInit(&contexte, EVP_md5()) != 1)          if (EVP_DigestInit(contexte, EVP_md5()) != 1)
         {          {
               EVP_MD_CTX_free(contexte);
             close(in_fd);              close(in_fd);
             free(chaine);              free(chaine);
   
Line 142  controle(struct_processus *s_etat_proces Line 149  controle(struct_processus *s_etat_proces
             return(d_faux);              return(d_faux);
         }          }
   
         if (EVP_DigestUpdate(&contexte, chaine, (size_t) taille_fichier) != 1)          if (EVP_DigestUpdate(contexte, chaine, (size_t) taille_fichier) != 1)
         {          {
               EVP_MD_CTX_free(contexte);
             close(in_fd);              close(in_fd);
             free(chaine);              free(chaine);
   
Line 151  controle(struct_processus *s_etat_proces Line 159  controle(struct_processus *s_etat_proces
             return(d_faux);              return(d_faux);
         }          }
   
         if (EVP_DigestFinal_ex(&contexte, somme, &longueur_somme) != 1)          if (EVP_DigestFinal_ex(contexte, somme, &longueur_somme) != 1)
         {          {
               EVP_MD_CTX_free(contexte);
             close(in_fd);              close(in_fd);
             free(chaine);              free(chaine);
   
Line 162  controle(struct_processus *s_etat_proces Line 171  controle(struct_processus *s_etat_proces
     }      }
     else if (strcmp(type, "sha1") == 0)      else if (strcmp(type, "sha1") == 0)
     {      {
         if (EVP_DigestInit(&contexte, EVP_sha1()) != 1)          if (EVP_DigestInit(contexte, EVP_sha1()) != 1)
         {          {
               EVP_MD_CTX_free(contexte);
             close(in_fd);              close(in_fd);
             free(chaine);              free(chaine);
   
Line 171  controle(struct_processus *s_etat_proces Line 181  controle(struct_processus *s_etat_proces
             return(d_faux);              return(d_faux);
         }          }
   
         if (EVP_DigestUpdate(&contexte, chaine, (size_t) taille_fichier) != 1)          if (EVP_DigestUpdate(contexte, chaine, (size_t) taille_fichier) != 1)
         {          {
               EVP_MD_CTX_free(contexte);
             close(in_fd);              close(in_fd);
             free(chaine);              free(chaine);
   
Line 180  controle(struct_processus *s_etat_proces Line 191  controle(struct_processus *s_etat_proces
             return(d_faux);              return(d_faux);
         }          }
   
         if (EVP_DigestFinal_ex(&contexte, somme, &longueur_somme) != 1)          if (EVP_DigestFinal_ex(contexte, somme, &longueur_somme) != 1)
         {          {
               EVP_MD_CTX_free(contexte);
             close(in_fd);              close(in_fd);
             free(chaine);              free(chaine);
   
Line 194  controle(struct_processus *s_etat_proces Line 206  controle(struct_processus *s_etat_proces
         return(d_faux);          return(d_faux);
     }      }
   
     EVP_MD_CTX_cleanup(&contexte);      EVP_MD_CTX_free(contexte);
     free(chaine);      free(chaine);
   
     for(i = 0; i < longueur_somme; i++)      for(i = 0; i < longueur_somme; i++)

Removed from v.1.58  
changed lines
  Added in v.1.59


CVSweb interface <joel.bertrand@systella.fr>