diff options
| -rw-r--r-- | CORE/UTILS/PKTLOG/pktlog_internal.c | 13 | ||||
| -rw-r--r-- | tools/athdiag/athdiag.c | 19 | ||||
| -rw-r--r-- | tools/fwdebuglog/cld-fwlog-netlink.c | 8 | ||||
| -rw-r--r-- | tools/fwdebuglog/cld-fwlog-record.c | 3 |
4 files changed, 34 insertions, 9 deletions
diff --git a/CORE/UTILS/PKTLOG/pktlog_internal.c b/CORE/UTILS/PKTLOG/pktlog_internal.c index 10a99adea677..0aeae952d700 100644 --- a/CORE/UTILS/PKTLOG/pktlog_internal.c +++ b/CORE/UTILS/PKTLOG/pktlog_internal.c @@ -62,16 +62,21 @@ pktlog_getbuf_intsafe(struct ath_pktlog_arg *plarg) struct ath_pktlog_hdr *log_hdr; int32_t cur_wr_offset; char *log_ptr; - struct ath_pktlog_info *pl_info = plarg->pl_info; - u_int16_t log_type = plarg->log_type; - size_t log_size = plarg->log_size; - uint32_t flags = plarg->flags; + struct ath_pktlog_info *pl_info; + u_int16_t log_type; + size_t log_size; + uint32_t flags; if (!plarg) { printk("Invalid parg in %s\n", __func__); return; } + pl_info = plarg->pl_info; log_buf = pl_info->buf; + log_type = plarg->log_type; + log_size = plarg->log_size; + flags = plarg->flags; + if (!log_buf) { printk("Invalid log_buf in %s\n", __func__); return; diff --git a/tools/athdiag/athdiag.c b/tools/athdiag/athdiag.c index 7e0904cabdf2..17e8ead93f4d 100644 --- a/tools/athdiag/athdiag.c +++ b/tools/athdiag/athdiag.c @@ -319,6 +319,8 @@ ValidWriteOTP(int dev, A_UINT32 offset, A_UINT8 *buffer, A_UINT32 length) A_UINT8 *otp_contents; otp_contents = MALLOC(length); + if (otp_contents == NULL) + return 0; ReadTargetOTP(dev, offset, otp_contents, length); for (i=0; i<length; i++) { @@ -326,10 +328,11 @@ ValidWriteOTP(int dev, A_UINT32 offset, A_UINT8 *buffer, A_UINT32 length) fprintf(stderr, "Abort. Cannot change offset %d from 0x%02x" " to 0x%02x\n", offset+i, otp_contents[i], buffer[i]); + free(otp_contents); return 0; } } - + free(otp_contents); return 1; } @@ -404,6 +407,8 @@ DumpTargetMem(int dev, unsigned int target_idx, char *pathname) unsigned int i, address, length, remaining; buffer = (A_UINT8 *)MALLOC(MAX_BUF); + if (buffer == NULL) + return; reg_info = target_info[target_idx].reg_info; while ((reg_info->reg_start != 0) || (reg_info->reg_len != 0)) { @@ -492,7 +497,7 @@ main (int argc, char **argv) { int i; FILE * dump_fd; unsigned int address = 0, target_idx = 0, length = 0; - A_UINT32 param; + A_UINT32 param = 0; char filename[PATH_MAX], tempfn[PATH_MAX]; char pathname[PATH_MAX]; char devicename[PATH_MAX]; @@ -681,7 +686,11 @@ main (int argc, char **argv) { } buffer = (A_UINT8 *)MALLOC(MAX_BUF); - + if (buffer == NULL) { + fclose(dump_fd); + close(dev); + exit(1); + } nqprintf( "DIAG Read Target (address: 0x%x, length: %d," " filename: %s)\n", address, length, filename); @@ -757,6 +766,10 @@ main (int argc, char **argv) { } memset(&filestat, '\0', sizeof(struct stat)); buffer = (A_UINT8 *)MALLOC(MAX_BUF); + if (buffer == NULL) { + close(fd); + exit(1); + } fstat(fd, &filestat); file_length = filestat.st_size; if (file_length == 0) { diff --git a/tools/fwdebuglog/cld-fwlog-netlink.c b/tools/fwdebuglog/cld-fwlog-netlink.c index 0781441d0f52..c24226ac3462 100644 --- a/tools/fwdebuglog/cld-fwlog-netlink.c +++ b/tools/fwdebuglog/cld-fwlog-netlink.c @@ -146,7 +146,8 @@ static void cleanup(void) { if (fwlog_res == NULL) { perror("Failed to open reorder fwlog file"); - goto out; + fclose(log_out); + return; } reorder(log_out, fwlog_res); @@ -238,6 +239,11 @@ int main(int argc, char *argv[]) dest_addr.nl_groups = 0; /* unicast */ nlh = (struct nlmsghdr *)malloc(NLMSG_SPACE(RECLEN)); + if (nlh == NULL) { + fprintf(stderr, "Cannot allocate memory \n"); + close(sock_fd); + return -1; + } memset(nlh, 0, NLMSG_SPACE(RECLEN)); nlh->nlmsg_len = NLMSG_SPACE(RECLEN); nlh->nlmsg_pid = getpid(); diff --git a/tools/fwdebuglog/cld-fwlog-record.c b/tools/fwdebuglog/cld-fwlog-record.c index 138df43b3cea..8042bc9cd766 100644 --- a/tools/fwdebuglog/cld-fwlog-record.c +++ b/tools/fwdebuglog/cld-fwlog-record.c @@ -115,7 +115,8 @@ static void cleanup(void) { if (fwlog_res == NULL) { perror("Failed to open reorder fwlog file"); - goto out; + fclose(log_out); + return; } reorder(log_out, fwlog_res); |
