Bonjour,
mon programme fait un segmentation fault quand il execute l'instruction suivante :
memset(policy, 0, sizeof(srtp_policy_t));
oici le message de seg fault :
Code :
 - Program received signal SIGSEGV, Segmentation fault.
 - memset () at ../sysdeps/x86_64/memset.S:331
 - 331	../sysdeps/x86_64/memset.S: Aucun fichier ou dossier de ce type.
 - 	in ../sysdeps/x86_64/memset.S
 
  | 
 
Voici le contexte:
Code :
 - srtp_policy_t  *policy;
 -   policy = si->u.rtp.info->policy;
 -  
 -   memset(policy, 0, sizeof(srtp_policy_t));
 -   if(computeSessKey(si, policy, key_len) == -1)
 -     return -1;
 
  | 
 
et voici srtp_policy_t :
Code :
 - typedef struct srtp_policy_t {
 -   ssrc_t        ssrc;        /**< The SSRC value of stream, or the  
 -   	      *   flags SSRC_ANY_INBOUND or  
 -   	      *   SSRC_ANY_OUTBOUND if key sharing
 -   	      *   is used for this policy element.
 -   	      */
 -   crypto_policy_t rtp;         /**< SRTP crypto policy.                  */
 -   crypto_policy_t rtcp;        /**< SRTCP crypto policy.                 */
 -   unsigned char *key;          /**< Pointer to the SRTP master key for
 -     *    this stream.                        */
 -   struct srtp_policy_t *next;  /**< Pointer to next stream policy.       */
 - } srtp_policy_t;
 
  | 
 
Apparemment c'est sizeof(srtp_policy_t qu'il n'aime pas ...
 
Comment je devrais indiquer à memset qu'il faut prendre la taille de srtp_policy_t ?
 
Merci d'avance pour votre aide.