diff --git a/src/musrt0.cpp b/src/musrt0.cpp index c2694a754..55ce05616 100644 --- a/src/musrt0.cpp +++ b/src/musrt0.cpp @@ -146,6 +146,9 @@ Int_t musrt0_getMaxBin(const PDoubleVector *data) Int_t maxBin = -1; Double_t maxData = -999; + if (data == nullptr) + return maxBin; + for (UInt_t i=0; isize(); i++) { if (data->at(i) > maxData) { maxData = data->at(i); @@ -221,7 +224,7 @@ Int_t main(Int_t argc, Char_t *argv[]) return PMUSR_SUCCESS; } else if (strstr(argv[i], ".msr")) { // check for filename if (strlen(filename) == 0) { - strcpy(filename, argv[i]); + strncpy(filename, argv[i], sizeof(filename)); } else { std::cout << std::endl << "**ERROR** only one file name allowed." << std::endl; show_syntax = true; @@ -816,7 +819,7 @@ Int_t main(Int_t argc, Char_t *argv[]) musrT0Data.SetCmdTag(PMUSRT0_GET_T0_DATA_AND_BKG_RANGE); // execute cmd if (!musrt0_item(app, msrHandler.get(), musrT0Data, 0, timeout)) { - exit(0); + return 0; } } else { if ((runList->at(i).GetRunNameSize() > 1) && (runList->at(i).GetForwardHistoNoSize() == 1)) { // addruns / no grouping @@ -842,7 +845,7 @@ Int_t main(Int_t argc, Char_t *argv[]) // feed necessary data musrT0Data.SetAddRunIdx(j); // addruns if (!musrt0_item(app, msrHandler.get(), musrT0Data, j, timeout)) { - exit(0); + return 0; } } } else if ((runList->at(i).GetRunNameSize() == 1) && (runList->at(i).GetForwardHistoNoSize() > 1)) { // no addruns / grouping @@ -868,7 +871,7 @@ Int_t main(Int_t argc, Char_t *argv[]) // feed necessary data musrT0Data.SetHistoNoIdx(j); if (!musrt0_item(app, msrHandler.get(), musrT0Data, 0, timeout)) { - exit(0); + return 0; } } } else { // addruns / grouping @@ -896,7 +899,7 @@ Int_t main(Int_t argc, Char_t *argv[]) // feed necessary data musrT0Data.SetHistoNoIdx(k); if (!musrt0_item(app, msrHandler.get(), musrT0Data, j, timeout)) { - exit(0); + return 0; } } } @@ -911,7 +914,7 @@ Int_t main(Int_t argc, Char_t *argv[]) } } if (!musrt0_item(app, msrHandler.get(), musrT0Data, 0, timeout)) { - exit(0); + return 0; } } break; @@ -939,7 +942,7 @@ Int_t main(Int_t argc, Char_t *argv[]) musrT0Data.SetCmdTag(PMUSRT0_GET_T0_DATA_AND_BKG_RANGE); // execute cmd if (!musrt0_item(app, msrHandler.get(), musrT0Data, 0, timeout)) { - exit(0); + return 0; } // feed necessary data backward musrT0Data.InitData(); @@ -961,7 +964,7 @@ Int_t main(Int_t argc, Char_t *argv[]) musrT0Data.SetCmdTag(PMUSRT0_GET_T0_DATA_AND_BKG_RANGE); // execute cmd if (!musrt0_item(app, msrHandler.get(), musrT0Data, 0, timeout)) { - exit(0); + return 0; } } else { // get t0's @@ -988,7 +991,7 @@ Int_t main(Int_t argc, Char_t *argv[]) // feed necessary data musrT0Data.SetAddRunIdx(j); // addruns if (!musrt0_item(app, msrHandler.get(), musrT0Data, j, timeout)) { - exit(0); + return 0; } } // feed necessary backward data @@ -1013,7 +1016,7 @@ Int_t main(Int_t argc, Char_t *argv[]) // feed necessary data musrT0Data.SetAddRunIdx(j); // addruns if (!musrt0_item(app, msrHandler.get(), musrT0Data, j, timeout)) { - exit(0); + return 0; } } } else if ((runList->at(i).GetRunNameSize() == 1) && (runList->at(i).GetForwardHistoNoSize() > 1)) { // no addruns / grouping @@ -1039,7 +1042,7 @@ Int_t main(Int_t argc, Char_t *argv[]) // feed necessary data musrT0Data.SetHistoNoIdx(j); if (!musrt0_item(app, msrHandler.get(), musrT0Data, 0, timeout)) { - exit(0); + return 0; } } // feed necessary backward data @@ -1064,7 +1067,7 @@ Int_t main(Int_t argc, Char_t *argv[]) // feed necessary data musrT0Data.SetHistoNoIdx(j); if (!musrt0_item(app, msrHandler.get(), musrT0Data, 0, timeout)) { - exit(0); + return 0; } } } else { // addruns / grouping @@ -1092,7 +1095,7 @@ Int_t main(Int_t argc, Char_t *argv[]) // feed necessary data musrT0Data.SetHistoNoIdx(k); if (!musrt0_item(app, msrHandler.get(), musrT0Data, j, timeout)) { - exit(0); + return 0; } } } @@ -1120,7 +1123,7 @@ Int_t main(Int_t argc, Char_t *argv[]) // feed necessary data musrT0Data.SetHistoNoIdx(k); if (!musrt0_item(app, msrHandler.get(), musrT0Data, j, timeout)) { - exit(0); + return 0; } } } @@ -1137,12 +1140,12 @@ Int_t main(Int_t argc, Char_t *argv[]) musrT0Data.SetHistoNo(forwardHistos); musrT0Data.SetDetectorTag(PMUSRT0_FORWARD); if (!musrt0_item(app, msrHandler.get(), musrT0Data, 0, timeout)) { - exit(0); + return 0; } musrT0Data.SetHistoNo(backwardHistos); musrT0Data.SetDetectorTag(PMUSRT0_BACKWARD); if (!musrt0_item(app, msrHandler.get(), musrT0Data, 0, timeout)) { - exit(0); + return 0; } } break; @@ -1166,7 +1169,8 @@ Int_t main(Int_t argc, Char_t *argv[]) // copy mlog-file -> msr-file TString fln = TString(filename); Char_t ext[32]; - strcpy(ext, ".mlog"); + memset(ext, '\0', sizeof(ext)); + strncpy(ext, ".mlog", sizeof(ext)); fln.ReplaceAll(".msr", 4, ext, strlen(ext)); gSystem->CopyFile(fln.Data(), filename, kTRUE); // copy __temp.msr -> mlog-file