From f2e54be965d14c62d879971807ee691f3a3c0c5d Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Thu, 27 Apr 2017 10:52:07 -0500 Subject: [PATCH] catools: Fix SEGFAULT from bad PV names --- src/catools/caget.c | 6 +++--- src/catools/cainfo.c | 5 +++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/catools/caget.c b/src/catools/caget.c index a2b0e08b0..00056709e 100644 --- a/src/catools/caget.c +++ b/src/catools/caget.c @@ -541,11 +541,11 @@ int main (int argc, char *argv[]) for (n = 0; optind < argc; n++, optind++) pvs[n].name = argv[optind] ; /* Copy PV names from command line */ - connect_pvs(pvs, nPvs); + result = connect_pvs(pvs, nPvs); /* Read and print data */ - - result = caget(pvs, nPvs, request, format, type, count); + if (!result) + result = caget(pvs, nPvs, request, format, type, count); /* Shut down Channel Access */ ca_context_destroy(); diff --git a/src/catools/cainfo.c b/src/catools/cainfo.c index 924c34b10..ad580f473 100644 --- a/src/catools/cainfo.c +++ b/src/catools/cainfo.c @@ -211,10 +211,11 @@ int main (int argc, char *argv[]) for (n = 0; optind < argc; n++, optind++) pvs[n].name = argv[optind] ; /* Copy PV names from command line */ - connect_pvs(pvs, nPvs); + result = connect_pvs(pvs, nPvs); /* Print data */ - result = cainfo(pvs, nPvs); + if (!result) + result = cainfo(pvs, nPvs); /* Shut down Channel Access */ ca_context_destroy();