View Issue Details

IDProjectCategoryView StatusLast Update
0002374GNUnettransport servicepublic2012-06-02 19:15
ReporterMatthias Wachs Assigned ToMatthias Wachs  
PriorityhighSeveritycrashReproducibilityhave not tried
Status closedResolutionfixed 
Product VersionGit master 
Target Version0.9.3Fixed in Version0.9.3 
Summary0002374: gnunet-service-transport_neighbours.c frees neighbour and then uses data
DescriptionIn GST_neighbours_handle_connect:
  case S_DISCONNECT:
    /* get rid of remains, ready to re-try */

1) free_neighbour (n);
2) n = setup_neighbour (peer);
    n->state = S_CONNECT_RECV_ATS;
    GNUNET_ATS_reset_backoff (GST_ats, peer);
    GNUNET_ATS_suggest_address (GST_ats, peer);
    check_blacklist (peer, ts, address, session, ats, ats_count);
Additional Information1) frees the neighbour and disconnects all sessions
-> plugin terminates all sessions, cleans up peer data (peer id!)
2) uses information freed in 1) (e.g. peer) to setup a new peer
-> invalid memory acccess!
TagsNo tags attached.

Activities

Matthias Wachs

2012-05-24 13:44

reporter   ~0005939

fixed with revision 21570.

Issue History

Date Modified Username Field Change
2012-05-24 13:26 Matthias Wachs New Issue
2012-05-24 13:26 Matthias Wachs Status new => assigned
2012-05-24 13:26 Matthias Wachs Assigned To => Matthias Wachs
2012-05-24 13:44 Matthias Wachs Note Added: 0005939
2012-05-24 13:45 Matthias Wachs Status assigned => resolved
2012-05-24 13:45 Matthias Wachs Resolution open => fixed
2012-05-27 18:33 Christian Grothoff Fixed in Version => 0.9.3
2012-05-27 18:33 Christian Grothoff Target Version => 0.9.3
2012-06-02 19:15 Christian Grothoff Status resolved => closed