From 176e5b090fb5b180ed84f824b4a8f9341448e2bf Mon Sep 17 00:00:00 2001 From: alkasethi Date: Thu, 10 May 2018 15:00:41 +0530 Subject: [PATCH] Prevent fixes Change-Id: If7fa8884f605c1cd951822540035529dafe4db90 Signed-off-by: alkasethi --- src/sdb.c | 11 ++++++++--- src/subprocess.c | 4 ++++ src/sysdeps.h | 7 ++++++- src/usb_funcfs_client.c | 3 +++ 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/src/sdb.c b/src/sdb.c index c910525..7272099 100644 --- a/src/sdb.c +++ b/src/sdb.c @@ -960,6 +960,7 @@ alistener listener_list = { static void ss_listener_event_func(int _fd, unsigned ev, void *_l) { asocket *s; + int ret = -1; if(ev & FDE_READ) { struct sockaddr addr; @@ -970,7 +971,10 @@ static void ss_listener_event_func(int _fd, unsigned ev, void *_l) fd = sdb_socket_accept(_fd, &addr, &alen); if(fd < 0) return; - sdb_socket_setbufsize(fd, CHUNK_SIZE); + ret = sdb_socket_setbufsize(fd, CHUNK_SIZE); + if (ret == -1) { + D("sdbd: sdb_socket_setbufsize failed \n", ret); + } s = create_local_socket(fd); if(s) { @@ -1356,8 +1360,9 @@ static int sdbd_set_groups(const char *name, int gid, struct group_info default_ int group_match = 0; int added_group_cnt = 0; - getgrouplist(name, gid, NULL, &ngroups); - D("group list : ngroups = %d\n", ngroups); + if (getgrouplist(name, gid, NULL, &ngroups) == -1) { + D("group list : ngroups = %d\n", ngroups); + } group_ids = malloc((ngroups + default_groups_size) * sizeof(gid_t)); if (group_ids == NULL) { E("failed to allocate group_ids(%zu)\n", (ngroups + default_groups_size) * sizeof(gid_t)); diff --git a/src/subprocess.c b/src/subprocess.c index 0bf6c1b..6d7d847 100644 --- a/src/subprocess.c +++ b/src/subprocess.c @@ -62,6 +62,10 @@ static ssize_t send_fd(int fd, void *ptr, size_t nbytes, int sendfd) static void redirect_and_exec(int pts, const char *cmd, char * const argv[], char * const envp[]) { + if(argv == NULL) { + fprintf(stderr, "sdbu argv is NULL\n"); + return; + } dup2(pts, 0); dup2(pts, 1); dup2(pts, 2); diff --git a/src/sysdeps.h b/src/sysdeps.h index a72e798..ab9e6c6 100644 --- a/src/sysdeps.h +++ b/src/sysdeps.h @@ -466,7 +466,12 @@ static __inline__ int sdb_socket_setbufsize( int fd, int bufsize ) static __inline__ void disable_tcp_nagle(int fd) { int on = 1; - setsockopt( fd, IPPROTO_TCP, TCP_NODELAY, (void*)&on, sizeof(on) ); + int ret = -1; + ret = setsockopt( fd, IPPROTO_TCP, TCP_NODELAY, (void*)&on, sizeof(on) ); + if (ret == -1) { + fprintf(stderr, "sdbd: setsockopt failed \n", errno); + return; + } } diff --git a/src/usb_funcfs_client.c b/src/usb_funcfs_client.c index b36bf41..edc2cb7 100644 --- a/src/usb_funcfs_client.c +++ b/src/usb_funcfs_client.c @@ -309,6 +309,9 @@ static void *usb_read_control(void *x) if (ep0_poll[0].revents & POLLIN) { ret = read_control(usb); + if (ret < 0) { + D("read_control failed", ret); + } } } -- 2.7.4