Text   |  XML   |  ReML   |   Visible Warnings:

Unreachable Control Flow  at packet-gsm_map.c:16843

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

dissect_invokeData

(/home/sate/Testcases/c/cve/wireshark-1.2.0/epan/dissectors/packet-gsm_map.c)expand/collapse
Show more  
 16723  static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx) {
 16724   
 16725    proto_item *cause;
 16726   
 16727    switch(opcode){
 16728    case  2: /*updateLocation*/    
 16729      offset=dissect_gsm_map_ms_UpdateLocationArg(FALSE, tvb, offset, actx, tree, -1);
 16730      break;
 16731    case  3: /*cancelLocation*/
 16732      offset=dissect_mc_message(tvb, offset, actx, tree,    
 16733                                FALSE, dissect_gsm_map_Identity, hf_gsm_map_ms_identity,
 16734                                FALSE, dissect_gsm_map_Identity, hf_gsm_map_ms_identity,
 16735                                TRUE , dissect_gsm_map_ms_CancelLocationArg, -1);/*undefined*/
 16736      break;
 16737    case  4: /*provideRoamingNumber*/
 16738      offset=dissect_gsm_map_ch_ProvideRoamingNumberArg(FALSE, tvb, offset, actx, tree, -1);
 16739      break;
 16740    case  5: /*noteSubscriberDataModified*/
 16741      offset=dissect_gsm_map_ms_NoteSubscriberDataModifiedArg(FALSE, tvb, offset, actx, tree, -1);
 16742      break;
 16743    case  6: /*resumeCallHandling*/
 16744      offset=dissect_gsm_map_ch_ResumeCallHandlingArg(FALSE, tvb, offset, actx, tree, -1);
 16745      break;
 16746    case  7: /*insertSubscriberData*/
 16747      offset=dissect_gsm_map_ms_InsertSubscriberDataArg(FALSE, tvb, offset, actx, tree, -1);
 16748      break;
 16749    case  8: /*deleteSubscriberData*/
 16750      offset=dissect_gsm_map_ms_DeleteSubscriberDataArg(FALSE, tvb, offset, actx, tree, -1);
 16751      break;
 16752      /* TODO find out why this isn't in the ASN1 file */
 16753      /* reserved sendParameters (9) */
 16754    case  10: /*registerSS*/
 16755      offset=dissect_gsm_map_ss_RegisterSS_Arg(FALSE, tvb, offset, actx, tree, -1);
 16756      break;
 16757    case  11: /*eraseSS*/
 16758      offset=dissect_gsm_map_ss_SS_ForBS_Code(FALSE, tvb, offset, actx, tree, -1);
 16759      break;
 16760    case 12: /*activateSS*/
 16761      offset=dissect_gsm_map_ss_SS_ForBS_Code(FALSE, tvb, offset, actx, tree, -1);
 16762      break;
 16763    case 13: /*deactivateSS*/
 16764      offset=dissect_gsm_map_ss_SS_ForBS_Code(FALSE, tvb, offset, actx, tree, -1);
 16765      break;
 16766    case 14: /*interrogateSS*/
 16767      offset=dissect_gsm_map_ss_SS_ForBS_Code(FALSE, tvb, offset, actx, tree, -1);
 16768      break;
 16769    case 15: /*authenticationFailureReport*/
 16770      offset=dissect_gsm_map_ms_AuthenticationFailureReportArg(FALSE, tvb, offset, actx, tree, -1);
 16771      break;
 16772    case 16: /*SS-protocol notifySS*/
 16773      offset=dissect_gsm_ss_NotifySS_Arg(FALSE, tvb, offset, actx, tree, -1);
 16774      break;
 16775    case 17: /*registerPassword*/
 16776      offset=dissect_gsm_map_SS_Code(FALSE, tvb, offset, actx, tree, hf_gsm_map_ss_Code);
 16777      break;
 16778    case 18: /*getPassword*/
 16779      offset=dissect_gsm_old_GetPasswordArg(FALSE, tvb, offset, actx, tree, hf_gsm_map_getPassword);
 16780      break;
 16781    case 19: /* SS-Protocol processUnstructuredSS-Data (19) */
 16782      offset=dissect_gsm_ss_SS_UserData(FALSE, tvb, offset, actx, tree, hf_gsm_map_ss_SS_UserData);
 16783      break;
 16784    case 20: /*releaseResources*/
 16785      offset=dissect_gsm_map_ch_ReleaseResourcesArg(FALSE, tvb, offset, actx, tree, -1);
 16786      break;
 16787    case 21: /*mt-ForwardSM-VGCS*/
 16788      offset=dissect_gsm_map_sm_MT_ForwardSM_VGCS_Arg(FALSE, tvb, offset, actx, tree, -1);
 16789      break;
 16790    case 22: /*sendRoutingInfo*/
 16791            if (application_context_version == 3){
 16792                    offset=dissect_gsm_map_ch_SendRoutingInfoArg(FALSE, tvb, offset, actx, tree, -1);
 16793            }else{
 16794                    offset=dissect_gsm_old_SendRoutingInfoArgV2(FALSE, tvb, offset, actx, tree, -1);
 16795            }
 16796      break;
 16797    case 23: /*updateGprsLocation*/
 16798      offset=dissect_gsm_map_ms_UpdateGprsLocationArg(FALSE, tvb, offset, actx, tree, -1);
 16799      break;
 16800    case 24: /*sendRoutingInfoForGprs*/
 16801      offset=dissect_gsm_map_ms_SendRoutingInfoForGprsArg(FALSE, tvb, offset, actx, tree, -1);
 16802      break;
 16803    case 25: /*failureReport*/
 16804      offset=dissect_gsm_map_ms_FailureReportArg(FALSE, tvb, offset, actx, tree, -1);
 16805      break;
 16806    case 26: /*noteMsPresentForGprs*/
 16807      offset=dissect_gsm_map_ms_NoteMsPresentForGprsArg(FALSE, tvb, offset, actx, tree, -1);
 16808      break;
 16809      /* undefined 27 */
 16810      /* reserved performHandover (28) */
 16811    case 29: /*sendEndSignal*/
 16812      offset=dissect_mc_message(tvb, offset, actx, tree,    
 16813                                FALSE, NULL, -1,
 16814                                FALSE, dissect_gsm_old_Bss_APDU, -1,
 16815                                TRUE , dissect_gsm_map_ms_SendEndSignal_Arg, -1);
 16816      break;
 16817      /* reserved performSubsequentHandover (30) */
 16818    case 31: /*provideSIWFSNumber*/
 16819      offset=dissect_gsm_old_ProvideSIWFSNumberArg(FALSE, tvb, offset, actx, tree, -1);
 16820      break;
 16821    case 32: /*sIWFSSignallingModify*/
 16822      offset=dissect_gsm_old_SIWFSSignallingModifyArg(FALSE, tvb, offset, actx, tree, -1);
 16823      break;
 16824    case 33: /*processAccessSignalling*/
 16825      offset=dissect_mc_message(tvb, offset, actx, tree,    
 16826                                FALSE, NULL, -1,
 16827                                FALSE, dissect_gsm_old_Bss_APDU, -1,
 16828                                TRUE , dissect_gsm_map_ms_ProcessAccessSignalling_Arg, -1);
 16829      break;
 16830    case 34: /*forwardAccessSignalling*/
 16831      offset=dissect_mc_message(tvb, offset, actx, tree,    
 16832                                FALSE, NULL, -1,
 16833                                FALSE, dissect_gsm_old_Bss_APDU, -1,
 16834                                TRUE , dissect_gsm_map_ms_ForwardAccessSignalling_Arg, -1);
 16835      break;
 16836      /* reserved noteInternalHandover (35) */
 16837      /* undefined 36 */
 16838    case 37: /*reset*/
 16839      offset=dissect_gsm_map_ms_ResetArg(FALSE, tvb, offset, actx, tree, -1);
 16840      break;
 16841    case 38: /*forwardCheckSS-Indication*/
 16842      return offset;
 16843      break;
 16844    case 39: /*prepareGroupCall*/
 16845      offset=dissect_gsm_map_gr_PrepareGroupCallArg(FALSE, tvb, offset, actx, tree, -1);
 16846      break;
 16847    case 40: /*sendGroupCallEndSignal*/
 16848      offset = dissect_gsm_map_gr_SendGroupCallEndSignalArg(FALSE, tvb, offset, actx, tree, -1);
 16849      break;
 16850    case 41: /*processGroupCallSignalling*/
 16851      offset = dissect_gsm_map_gr_ProcessGroupCallSignallingArg(FALSE, tvb, offset, actx, tree, -1);
 16852      break;
 16853    case 42: /*forwardGroupCallSignalling*/
 16854      offset=dissect_gsm_map_gr_ForwardGroupCallSignallingArg(FALSE, tvb, offset, actx, tree, -1);
 16855      break;
 16856    case 43: /*checkIMEI*/
 16857      offset=dissect_mc_message(tvb, offset, actx, tree,    
 16858                                FALSE, dissect_gsm_map_IMEI, hf_gsm_map_ms_imei,
 16859                                FALSE, dissect_gsm_map_ms_CheckIMEI_Arg, -1,
 16860                                TRUE , NULL, -1); /* no [3] SEQUENCE */
 16861      break;
 16862    case 44: /*mt-forwardSM(v3) or ForwardSM(v1/v2)*/
 16863      if (application_context_version == 3)
 16864        offset=dissect_gsm_map_sm_MT_ForwardSM_Arg(FALSE, tvb, offset, actx, tree, -1);
 16865      else {
 16866        offset=dissect_gsm_old_ForwardSM_Arg(FALSE, tvb, offset, actx, tree, -1);
 16867      }
 16868      break;
 16869    case 45: /*sendRoutingInfoForSM*/
 16870      offset=dissect_gsm_map_sm_RoutingInfoForSM_Arg(FALSE, tvb, offset, actx, tree, -1);
 16871      break;
 16872    case 46: /*mo-forwardSM(v3) or ForwardSM(v1/v2)*/
 16873      if (application_context_version == 3)
 16874        offset=dissect_gsm_map_sm_MO_ForwardSM_Arg(FALSE, tvb, offset, actx, tree, -1);
 16875      else {
 16876        offset=dissect_gsm_old_ForwardSM_Arg(FALSE, tvb, offset, actx, tree, -1);
 16877      }
 16878      break;
 16879    case 47: /*reportSM-DeliveryStatus*/
 16880      offset=dissect_gsm_map_sm_ReportSM_DeliveryStatusArg(FALSE, tvb, offset, actx, tree, -1);
 16881      break;
 16882      /* reserved noteSubscriberPresent (48) */
 16883      /* reserved alertServiceCentreWithoutResult (49)  
 16884           * ETS 300 599: December 2000 (GSM 09.02 version 4.19.1)
 16885           * -- alertServiceCentreWithoutResult must not be used in
 16886           * -- version greater 1 
 16887           */
 16888    case 49:
 16889          offset = dissect_gsm_map_sm_AlertServiceCentreArg(FALSE, tvb, offset, actx, tree, -1);
 16890          break;
 16891    case 50: /*activateTraceMode*/
 16892      offset=dissect_gsm_map_om_ActivateTraceModeArg(FALSE, tvb, offset, actx, tree, -1);
 16893      break;
 16894    case 51: /*deactivateTraceMode*/
 16895      offset=dissect_gsm_map_om_DeactivateTraceModeArg(FALSE, tvb, offset, actx, tree, -1);
 16896      break;
 16897      /* reserved traceSubscriberActivity (52) */
 16898      /* undefined 53 */
 16899    case 54: /*beginSubscriberActivity*/
 16900      offset=dissect_gsm_ss_BeginSubscriberActivityArg(FALSE, tvb, offset, actx, tree, -1);
 16901      break;
 16902    case 55: /*sendIdentification*/
 16903      offset=dissect_mc_message(tvb, offset, actx, tree,    
 16904                                FALSE, dissect_gsm_map_TMSI, hf_gsm_map_tmsi,
 16905                                FALSE, dissect_gsm_map_ms_SendIdentificationArg, -1,
 16906                                TRUE,  NULL, -1);
 16907      break;
 16908    case 56: /*sendAuthenticationInfo*/  
 16909      offset=dissect_mc_message(tvb, offset, actx, tree,    
 16910                                FALSE, dissect_gsm_map_IMSI, hf_gsm_map_imsi,
 16911                                FALSE, dissect_gsm_map_ms_SendAuthenticationInfoArg, -1,
 16912                                TRUE,  NULL, -1);
 16913      break;
 16914    case 57: /*restoreData*/
 16915      offset=dissect_gsm_map_ms_RestoreDataArg(FALSE, tvb, offset, actx, tree, -1);
 16916      break;
 16917    case 58: /*sendIMSI*/
 16918      offset = dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, actx, tree, hf_gsm_map_msisdn);
 16919      break;
 16920    case 59: /*processUnstructuredSS-Request*/
 16921      offset=dissect_gsm_map_ss_USSD_Arg(FALSE, tvb, offset, actx, tree, -1);
 16922      break;
 16923    case 60: /*unstructuredSS-Request*/
 16924      offset=dissect_gsm_map_ss_USSD_Arg(FALSE, tvb, offset, actx, tree, -1);
 16925      break;
 16926    case 61: /*unstructuredSS-Notify*/
 16927      offset=dissect_gsm_map_ss_USSD_Arg(FALSE, tvb, offset, actx, tree, -1);
 16928      break;
 16929    case 62: /*AnyTimeSubscriptionInterrogation*/
 16930      offset=dissect_gsm_map_ms_AnyTimeSubscriptionInterrogationArg(FALSE, tvb, offset, actx, tree, -1);
 16931      break;
 16932    case 63: /*informServiceCentre*/
 16933      offset=dissect_gsm_map_sm_InformServiceCentreArg(FALSE, tvb, offset, actx, tree, -1);
 16934      break;
 16935    case 64: /*alertServiceCentre*/
 16936      offset=dissect_gsm_map_sm_AlertServiceCentreArg(FALSE, tvb, offset, actx, tree, -1);
 16937      break;
 16938    case 65: /*AnyTimeModification*/
 16939      offset=dissect_gsm_map_ms_AnyTimeModificationArg(FALSE, tvb, offset, actx, tree, -1);
 16940      break;
 16941    case 66: /*readyForSM*/
 16942      offset=dissect_gsm_map_sm_ReadyForSM_Arg(FALSE, tvb, offset, actx, tree, -1);
 16943      break;
 16944    case 67: /*purgeMS*/
 16945      offset=dissect_mc_message(tvb, offset, actx, tree,    
 16946                                FALSE, dissect_gsm_map_IMSI, hf_gsm_map_imsi,
 16947                                FALSE, dissect_gsm_old_PurgeMSArgV2, -1, /*undefined*/
 16948                                TRUE , dissect_gsm_map_ms_PurgeMS_Arg, -1);
 16949      break;
 16950    case 68: /*prepareHandover*/
 16951      offset=dissect_mc_message(tvb, offset, actx, tree,    
 16952                                FALSE, NULL, -1,
 16953                                FALSE, dissect_gsm_old_PrepareHO_ArgOld, -1,
 16954                                TRUE, dissect_gsm_map_ms_PrepareHO_Arg, -1);
 16955      break;
 16956    case 69: /*prepareSubsequentHandover*/
 16957      offset=dissect_mc_message(tvb, offset, actx, tree,    
 16958                                FALSE, NULL, -1,
 16959                                FALSE, NULL, -1,
 16960                                TRUE, dissect_gsm_map_ms_PrepareSubsequentHO_Arg, -1);
 16961      break;
 16962    case 70: /*provideSubscriberInfo*/
 16963      offset=dissect_gsm_map_ms_ProvideSubscriberInfoArg(FALSE, tvb, offset, actx, tree, -1);
 16964      break;
 16965    case 71: /*anyTimeInterrogation*/
 16966      offset=dissect_gsm_map_ms_AnyTimeInterrogationArg(FALSE, tvb, offset, actx, tree, -1);
 16967      break;
 16968    case 72: /*ss-InvocationNotificatio*/
 16969      offset=dissect_gsm_map_ss_SS_InvocationNotificationArg(FALSE, tvb, offset, actx, tree, -1);
 16970      break;
 16971    case 73: /*setReportingState*/
 16972      offset=dissect_gsm_map_ch_SetReportingStateArg(FALSE, tvb, offset, actx, tree, -1);
 16973      break;
 16974    case 74: /*statusReport*/
 16975      offset=dissect_gsm_map_ch_StatusReportArg(FALSE, tvb, offset, actx, tree, -1);
 16976      break;
 16977    case 75: /*remoteUserFree*/
 16978      offset=dissect_gsm_map_ch_RemoteUserFreeArg(FALSE, tvb, offset, actx, tree, -1);
 16979      break;
 16980    case 76: /*registerCC-Entry*/
 16981      offset=dissect_gsm_map_ss_RegisterCC_EntryArg(FALSE, tvb, offset, actx, tree, -1);
 16982      break;
 16983    case 77: /*eraseCC-Entry*/
 16984      offset=dissect_gsm_map_ss_EraseCC_EntryArg(FALSE, tvb, offset, actx, tree, -1);
 16985      break;
 16986    case 78: /*secureTransportClass1*/
 16987    case 79: /*secureTransportClass1*/
 16988    case 80: /*secureTransportClass1*/
 16989    case 81: /*secureTransportClass1*/
 16990      offset=dissect_gsm_old_SecureTransportArg(FALSE, tvb, offset, actx, tree, -1);
 16991      break;
 16992      /* undefined 82 */
 16993    case 83: /*provideSubscriberLocation*/
 16994      offset=dissect_gsm_map_lcs_ProvideSubscriberLocation_Arg(FALSE, tvb, offset, actx, tree, -1);
 16995      break;
 16996    case 84: /*sendGroupCallInfo*/
 16997      offset=dissect_gsm_map_gr_SendGroupCallInfoArg(FALSE, tvb, offset, actx, tree, -1);
 16998      break;
 16999    case 85: /*sendRoutingInfoForLCS*/
 17000      offset=dissect_gsm_map_lcs_RoutingInfoForLCS_Arg(FALSE, tvb, offset, actx, tree, -1);
 17001      break;
 17002    case 86: /*subscriberLocationReport*/
 17003      offset=dissect_gsm_map_lcs_SubscriberLocationReport_Arg(FALSE, tvb, offset, actx, tree, -1);
 17004      break;
 17005    case 87: /*ist-Alert*/
 17006      offset=dissect_gsm_map_ch_IST_AlertArg(FALSE, tvb, offset, actx, tree, -1);
 17007      break;
 17008    case 88: /*ist-Command*/
 17009      offset=dissect_gsm_map_ch_IST_CommandArg(FALSE, tvb, offset, actx, tree, -1);
 17010      break;
 17011    case 89: /*noteMM-Event*/
 17012      offset=dissect_gsm_map_ms_NoteMM_EventArg(FALSE, tvb, offset, actx, tree, -1);
 17013      break;
 17014    case 109: /*SS-protocol lcs-PeriodicLocationCancellation*/
 17015      offset=dissect_gsm_ss_LCS_PeriodicLocationCancellationArg(FALSE, tvb, offset, actx, tree, -1);
 17016      break;
 17017    case 110: /*SS-protocol lcs-LocationUpdate*/
 17018      offset=dissect_gsm_ss_LCS_LocationUpdateArg(FALSE, tvb, offset, actx, tree, -1);
 17019      break;
 17020    case 111: /*SS-protocol lcs-PeriodicLocationRequest*/
 17021      offset=dissect_gsm_ss_LCS_PeriodicLocationRequestArg(FALSE, tvb, offset, actx, tree, -1);
 17022      break;
 17023    case 112: /*SS-protocol lcs-AreaEventCancellation*/
 17024      offset=dissect_gsm_ss_LCS_AreaEventCancellationArg(FALSE, tvb, offset, actx, tree, -1);
 17025      break;
 17026    case 113: /*SS-protocol lcs-AreaEventReport*/
 17027      offset=dissect_gsm_ss_LCS_AreaEventReportArg(FALSE, tvb, offset, actx, tree, -1);
 17028      break;
 17029    case 114: /*SS-protocol lcs-AreaEventRequest*/
 17030      offset=dissect_gsm_ss_LCS_AreaEventRequestArg(FALSE, tvb, offset, actx, tree, -1);
 17031      break;
 17032    case 115: /*SS-protocol lcs-MOLR*/
 17033      offset=dissect_gsm_ss_LCS_MOLRArg(FALSE, tvb, offset, actx, tree, -1);
 17034      break;
 17035    case 116: /*SS-protocol lcs-LocationNotification*/
 17036      offset=dissect_gsm_ss_LocationNotificationArg(FALSE, tvb, offset, actx, tree, -1);
 17037      break;
 17038    case 117: /*SS-protocol callDeflection*/
 17039      offset=dissect_gsm_ss_CallDeflectionArg(FALSE, tvb, offset, actx, tree, -1);
 17040      break;
 17041    case 118: /*SS-protocol userUserService*/
 17042      offset=dissect_gsm_ss_UserUserServiceArg(FALSE, tvb, offset, actx, tree, -1);
 17043      break;
 17044    case 119: /*SS-protocol accessRegisterCCEntry*/
 17045      offset=dissect_gsm_ss_AccessRegisterCCEntryArg(FALSE, tvb, offset, actx, tree, -1);
 17046      break;
 17047    case 120: /*SS-protocol forwardCUG-Info*/
 17048          application_context_version = 3;
 17049      offset=dissect_gsm_ss_ForwardCUG_InfoArg(FALSE, tvb, offset, actx, tree, -1);
 17050      break;
 17051    case 121: /*SS-protocol splitMPTY no Argument*/
 17052      break;
 17053    case 122: /*SS-protocol retrieveMPTY no Argument*/
 17054      break;
 17055    case 123: /*SS-protocol holdMPTY no Argument*/
 17056      break;
 17057    case 124: /*SS-protocol buildMPTY no Argument*/
 17058      break;
 17059    case 125: /*SS-protocol forwardChargeAdvice*/
 17060      offset=dissect_gsm_ss_ForwardChargeAdviceArg(FALSE, tvb, offset, actx, tree, -1);
 17061      break;
 17062    case 126: /*SS-protocol explicitCT no Argument*/
 17063      break;
 17064    default:
 17065      cause=proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob");
 17066      proto_item_set_expert_flags(cause, PI_MALFORMED, PI_WARN);
 17067      expert_add_info_format(actx->pinfo, cause, PI_MALFORMED, PI_WARN, "Unknown invokeData %d",opcode);
 17068    }
 17069    return offset;
 17070  }
Show more  




Change Warning 1283.35144 : Unreachable Control Flow

Priority:
State:
Finding:
Owner:
Note: