Bonjour tout le monde,
j'utilise le protocole XDR pour encoder un flux de données, le seul problème, c'est le décryptage...
En effet, j'ai la structure suivante :
et la fonction de décodage suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 typedef struct { int *ex; } Exemple;
Dans le premier cas, j'ai le serveur qui plante sur un segfault...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 bool_t xdr_Exemple(XDR *f, Exemple *e) { return xdr_pointer(f, (char**)&e->ex, sizeof(e), (xdrproc_t)xdr_Exemple); // return xdr_opaque(f, (char*)&e->ex, 4*sizeof(int)); // Supposant qu'il a ete initialise avec 4 }
Dans le second cas, j'ai le client qui fait une erreur de segmentation...
(je passe par des callrpc...).
A noter que si je passe l'attribut sous forme d'un entier (pas un pointeur), et que je parse avec xdr_int, je n'ai aucune erreur nulle part
Des idées de comment parser le flux pour récupérer mon tableau d'entiers?
![]()
Partager