diff --git a/lib/api/actions/node.cpp b/lib/api/actions/node.cpp index 432a1cf9c..6a92da3a3 100644 --- a/lib/api/actions/node.cpp +++ b/lib/api/actions/node.cpp @@ -50,7 +50,7 @@ public: ret = json_unpack_ex(args, &err, 0, "{ s: s }", "node", &node_str ); - if (ret) + if (ret < 0) return ret; struct vlist *nodes = session->getSuperNode()->getNodes(); diff --git a/lib/api/actions/restart.cpp b/lib/api/actions/restart.cpp index 5ae3ceb48..8e5c18274 100644 --- a/lib/api/actions/restart.cpp +++ b/lib/api/actions/restart.cpp @@ -66,10 +66,8 @@ public: if (args) { ret = json_unpack_ex(args, &err, 0, "{ s?: s }", "config", &cfg); - if (ret < 0) { - *resp = json_string("failed to parse request"); - return -1; - } + if (ret < 0) + return ret; } /* If no config is provided via request, we will use the previous one */ @@ -98,7 +96,7 @@ public: /* Register exit handler */ ret = atexit(handler); if (ret) - return 0; + return ret; /* Properly terminate current instance */ killme(SIGTERM); diff --git a/lib/api/actions/status.cpp b/lib/api/actions/status.cpp index 8e004c19b..5c6670c70 100644 --- a/lib/api/actions/status.cpp +++ b/lib/api/actions/status.cpp @@ -42,10 +42,12 @@ public: char buf[4096]; ret = lws_json_dump_context(ctx, buf, sizeof(buf), 0); + if (ret) + return ret; *resp = json_loads(buf, 0, nullptr); - return ret; + return 0; } };