X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_cmdline%2Fcmdline.c;h=c8958d5fb23c47870ef436c91b8d79b6fd8e3eb6;hb=ab971e562860e30339d66b41799ac029c698a9ab;hp=dafddfcd8575d03ceca4eddcef782ab9aa9cb64c;hpb=af75078fece3615088e561357c1e97603e43a5fe;p=dpdk.git diff --git a/lib/librte_cmdline/cmdline.c b/lib/librte_cmdline/cmdline.c index dafddfcd85..c8958d5fb2 100644 --- a/lib/librte_cmdline/cmdline.c +++ b/lib/librte_cmdline/cmdline.c @@ -30,7 +30,6 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * version: DPDK.L.1.2.3-3 */ /* @@ -105,7 +104,12 @@ int cmdline_write_char(struct rdline *rdl, char c) { int ret = -1; - struct cmdline *cl = rdl->opaque; + struct cmdline *cl; + + if (!rdl) + return -1; + + cl = rdl->opaque; if (cl->s_out >= 0) ret = write(cl->s_out, &c, 1); @@ -117,6 +121,8 @@ cmdline_write_char(struct rdline *rdl, char c) void cmdline_set_prompt(struct cmdline *cl, const char *prompt) { + if (!cl || !prompt) + return; rte_snprintf(cl->prompt, sizeof(cl->prompt), "%s", prompt); } @@ -124,6 +130,10 @@ struct cmdline * cmdline_new(cmdline_parse_ctx_t *ctx, const char *prompt, int s_in, int s_out) { struct cmdline *cl; + + if (!ctx || !prompt) + return NULL; + cl = malloc(sizeof(struct cmdline)); if (cl == NULL) return NULL; @@ -145,6 +155,10 @@ void cmdline_free(struct cmdline *cl) { dprintf("called\n"); + + if (!cl) + return; + if (cl->s_in > 2) close(cl->s_in); if (cl->s_out != cl->s_in && cl->s_out > 2) @@ -157,6 +171,9 @@ cmdline_printf(const struct cmdline *cl, const char *fmt, ...) { va_list ap; + if (!cl || !fmt) + return; + #ifdef _GNU_SOURCE if (cl->s_out < 0) return; @@ -193,6 +210,9 @@ cmdline_in(struct cmdline *cl, const char *buf, int size) int ret = 0; int i, same; + if (!cl || !buf) + return -1; + for (i=0; irdl, buf[i]); @@ -222,6 +242,8 @@ cmdline_in(struct cmdline *cl, const char *buf, int size) void cmdline_quit(struct cmdline *cl) { + if (!cl) + return; rdline_quit(&cl->rdl); } @@ -230,6 +252,9 @@ cmdline_interact(struct cmdline *cl) { char c; + if (!cl) + return; + c = -1; while (1) { if (read(cl->s_in, &c, 1) < 0)