#24 nsd/tcljob.c:1049: error: Null Dereference pointer `queue` last assigned on line 1026 could be null and is dereferenced at line 1049, column 39. nsd/tcljob.c:1023:1: start of procedure JobJobsObjCmd() 1021. *---------------------------------------------------------------------- 1022. */ 1023. static int ^ 1024. JobJobsObjCmd(ClientData UNUSED(clientData), Tcl_Interp *interp, int objc, Tcl_Obj *const* objv) 1025. { nsd/tcljob.c:1026:5: 1024. JobJobsObjCmd(ClientData UNUSED(clientData), Tcl_Interp *interp, int objc, Tcl_Obj *const* objv) 1025. { 1026. Queue *queue = NULL; ^ 1027. int result = TCL_OK; 1028. Ns_ObjvSpec args[] = { nsd/tcljob.c:1027:5: 1025. { 1026. Queue *queue = NULL; 1027. int result = TCL_OK; ^ 1028. Ns_ObjvSpec args[] = { 1029. {"queueId", ObjvQueue, &queue, NULL}, nsd/tcljob.c:1028:5: 1026. Queue *queue = NULL; 1027. int result = TCL_OK; 1028. Ns_ObjvSpec args[] = { ^ 1029. {"queueId", ObjvQueue, &queue, NULL}, 1030. {NULL, NULL, NULL, NULL} nsd/tcljob.c:1033:9: Taking false branch 1031. }; 1032. 1033. if (Ns_ParseObjv(NULL, args, interp, 2, objc, objv) != NS_OK) { ^ 1034. result = TCL_ERROR; 1035. nsd/tcljob.c:1039:9: Skipping Tcl_NewListObj(): method has no implementation 1037. const Tcl_HashEntry *hPtr; 1038. Tcl_HashSearch search; 1039. Tcl_Obj *listObj = Tcl_NewListObj(0, NULL); ^ 1040. 1041. assert(queue != NULL); nsd/tcljob.c:1041:9: 1039. Tcl_Obj *listObj = Tcl_NewListObj(0, NULL); 1040. 1041. assert(queue != NULL); ^ 1042. /* 1043. * Collect the jobIdString in the listObj. nsd/tcljob.c:1045:14: Skipping Tcl_FirstHashEntry(): method has no implementation 1043. * Collect the jobIdString in the listObj. 1044. */ 1045. for (hPtr = Tcl_FirstHashEntry(&queue->jobs, &search); ^ 1046. hPtr != NULL; 1047. hPtr = Tcl_NextHashEntry(&search) nsd/tcljob.c:1046:14: Loop condition is true. Entering loop body 1044. */ 1045. for (hPtr = Tcl_FirstHashEntry(&queue->jobs, &search); 1046. hPtr != NULL; ^ 1047. hPtr = Tcl_NextHashEntry(&search) 1048. ) { nsd/tcljob.c:1049:13: 1047. hPtr = Tcl_NextHashEntry(&search) 1048. ) { 1049. const char *jobIdString = Tcl_GetHashKey(&queue->jobs, hPtr); ^ 1050. 1051. Tcl_ListObjAppendElement(interp, listObj, Tcl_NewStringObj(jobIdString, -1)); nsd/tcljob.c:1049:39: 1047. hPtr = Tcl_NextHashEntry(&search) 1048. ) { 1049. const char *jobIdString = Tcl_GetHashKey(&queue->jobs, hPtr); ^ 1050. 1051. Tcl_ListObjAppendElement(interp, listObj, Tcl_NewStringObj(jobIdString, -1));