Text   |  XML   |  ReML   |   Visible Warnings:

Null Pointer Dereference  at packet-ldss.c:653

No properties have been set. | edit properties
Jump to warning location ↓ warning details...
Show Events | Options

dissect_ldss_transfer

(/home/sate/Testcases/c/cve/wireshark-1.2.0/epan/dissectors/packet-ldss.c)expand/collapse
Show more  
 457  dissect_ldss_transfer (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
 458  {
 459          conversation_t *transfer_conv;
 460          ldss_transfer_info_t *transfer_info;
 461          struct tcpinfo *transfer_tcpinfo;
 462   
 463          proto_tree      *ti, *line_tree = NULL, *ldss_tree = NULL;
 464   
 465          nstime_t broadcast_response_time;
 466   
 467          /* Look for the transfer conversation; this was created during
 468           * earlier broadcast dissection (see prepate_ldss_transfer_conv) */
 469          transfer_conv = find_conversation (pinfo->fd->num, &pinfo->src, &pinfo->dst,
 470                                             PT_TCP, pinfo->srcport, pinfo->destport, 0);
 471[+]         transfer_info = conversation_get_proto_data(transfer_conv, proto_ldss);
 472          transfer_tcpinfo = pinfo->private_data;
 473   
 474          /* For a pull, the first packet in the TCP connection is the file request.
 475           * First packet is identified by relative seq/ack numbers of 1.
 476           * File request only appears on a pull (triggered by an offer - see above
 477           * about broadcasts) */
 478          if (transfer_tcpinfo->seq == 1 &&
 479              transfer_tcpinfo->lastackseq == 1 &&
 480              transfer_info->broadcast->message_id == MESSAGE_ID_WILLSEND) {
 481                  /* LDSS pull transfers look a lot like HTTP.
 482                   * Sample request:
 483                   * md5:01234567890123...
 484                   * Size: 2550 
 485                   * Start: 0 
 486                   * Compression: 0 
 487                   * (remote end sends the file identified by the digest) */
 488                  guint offset = 0;
 489
632
Show [ Lines 489 to 632 omitted. ]
 633                  if (tree && transfer_info->resp_num != 0) {
 634                          ti = proto_tree_add_uint(ldss_tree, hf_ldss_response_in,
 635                                                   tvb, 0, 0, transfer_info->resp_num);
 636                          PROTO_ITEM_SET_GENERATED(ti);
 637                  }
 638   
 639                  transfer_info->req->num = pinfo->fd->num;
 640                  transfer_info->req->ts = pinfo->fd->abs_ts;
 641          }
 642          /* Remaining packets are the file response */
 643          else {
 644                  guint64 size;
 645                  guint64 offset;
 646                  guint8 compression;
 647   
 648                  /* size, digest, compression come from the file request for a pull but
 649                   * they come from the broadcast for a push. Pushes don't bother 
 650                   * with a file request - they just send the data. We have to get file 
 651                   * info from the offer broadcast which triggered this transfer.
 652                   * If we cannot find the file request, default to the broadcast. */
 653                  if (transfer_info->broadcast->message_id == MESSAGE_ID_WILLSEND &&
Show more  




Change Warning 2711.32205 : Null Pointer Dereference

Priority:
State:
Finding:
Owner:
Note: