Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1645 connectés 

  FORUM HardWare.fr
  Hardware
  Mémoire

  fuite de mémoire dans une fonction C

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

fuite de mémoire dans une fonction C

n°7429742
RSeif
Posté le 03-05-2010 à 16:54:03  profilanswer
 

Bonjour,
J'ai ce prog. en C qui est devenu gourmand en mémoire en incrémentant le nombre d'appel de la fonction.

Code :
  1. void publishkw(const char *addr, const char *targetid, int srcid, const char *fileid, int sybilid)
  2. {
  3. PGresult* result1;
  4. PGresult* resultp1;
  5. PGresult* resultkw1;
  6. char commande_sql1[128];
  7. char publish1[128];
  8. char kw1[128];
  9. sprintf(commande_sql1,"select verify_replicat('%s', '%s', current_timestamp);", addr, targetid);
  10. result1 = PQexec(connect_database, commande_sql1);
  11. char *val1 = PQgetvalue(result1,0,0);
  12. printf("%s \n", val1);
  13. if ((PQresultStatus(result1) != PGRES_TUPLES_OK ))
  14. {
  15.            fprintf(stderr, "couldn't execute query publish\n" );
  16.  
  17.            PQclear(result1);
  18.        
  19. }
  20. else {
  21. printf ("commande publish exécutée\n" );
  22. }
  23. if ((strcmp(val1,"1" ) == 0))
  24. {sprintf(publish1,"select mape_publish (date_trunc('minute',current_timestamp), %d, '%s', '%s', %d);", srcid, fileid, targetid, sybilid);
  25. resultp1 =  PQexec(connect_database, publish1);
  26. char *pub1 = PQgetvalue(resultp1,0,0);
  27. printf ("%s \n", pub1);
  28. if ((PQresultStatus(resultp1) != PGRES_TUPLES_OK))
  29. {
  30.            fprintf(stderr, "couldn't execute query pub\n" );
  31.  
  32.            PQclear(resultp1);
  33.          
  34. }
  35. else {
  36. printf ("commande pub exécutée\n" );
  37. sprintf(kw1,"select kw_files('%s', '%s', %d);", fileid, targetid, srcid);
  38. resultkw1 = PQexec(connect_database, kw1);
  39. char *key1 = PQgetvalue(resultkw1,0,0);
  40. printf ("%s \n", key1);
  41. if ((PQresultStatus(resultkw1) != PGRES_TUPLES_OK))
  42. {
  43.            fprintf(stderr, "couldn't execute query key_pub\n" );
  44.  
  45.            PQclear(resultkw1);
  46. }
  47. else {
  48. printf ("commande key_pub exécutée\n" );
  49. }
  50. }
  51. PQclear(result1);
  52. PQclear(resultp1);
  53. PQclear(resultkw1);
  54. }


pouvez vous m'indiquer l'erreur ou la solution pour libérer la mémoire à la fin de la fonction?

mood
Publicité
Posté le 03-05-2010 à 16:54:03  profilanswer
 

n°7429758
pas de bol
Posté le 03-05-2010 à 17:05:51  profilanswer
 

Ton erreur est d'avoir posté cette question dans la mauvaise section.
Tu auras plus de réponses dans la zone programmation de ce forum !
 
Bonne chance.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Hardware
  Mémoire

  fuite de mémoire dans une fonction C

 

Sujets relatifs
ailettes de ma barette mémoire s'est décolléemémoire
mémoire secondaireCompatibiliter mémoire corsair.
Compatibilité entre barrettes mémoire (PC3200). Aide svp.Mémoire "read" au démarrage du PC
plantage d'ordi quand >2gram(w7 64bits) P5N-D[C.A]Conseil d'achat : carte mère - cpu pour sli
Plus de sujets relatifs à : fuite de mémoire dans une fonction C


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR