View Issue Details

IDProjectCategoryView StatusLast Update
0002374GNUnettransport servicepublic2012-06-02 17:15
ReporterMatthias Wachs Assigned ToMatthias Wachs Due Date
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 11:44

reporter   ~0005939

fixed with revision 21570.

Issue History

Date ModifiedUsernameFieldChange
2012-05-24 11:26Matthias WachsNew Issue
2012-05-24 11:26Matthias WachsStatusnew => assigned
2012-05-24 11:26Matthias WachsAssigned To => Matthias Wachs
2012-05-24 11:44Matthias WachsNote Added: 0005939
2012-05-24 11:45Matthias WachsStatusassigned => resolved
2012-05-24 11:45Matthias WachsResolutionopen => fixed
2012-05-27 16:33Christian GrothoffFixed in Version => 0.9.3
2012-05-27 16:33Christian GrothoffTarget Version => 0.9.3
2012-06-02 17:15Christian GrothoffStatusresolved => closed