diff options
Diffstat (limited to 'usr/src/cmd/boot/bootadm/bootadm.c')
| -rw-r--r-- | usr/src/cmd/boot/bootadm/bootadm.c | 55 |
1 files changed, 26 insertions, 29 deletions
diff --git a/usr/src/cmd/boot/bootadm/bootadm.c b/usr/src/cmd/boot/bootadm/bootadm.c index 6e653470f1..ba62ba3d7a 100644 --- a/usr/src/cmd/boot/bootadm/bootadm.c +++ b/usr/src/cmd/boot/bootadm/bootadm.c @@ -536,7 +536,7 @@ sanitize_env() int main(int argc, char *argv[]) { - error_t ret; + error_t ret = BAM_SUCCESS; (void) setlocale(LC_ALL, ""); (void) textdomain(TEXT_DOMAIN); @@ -1050,11 +1050,11 @@ install_bootloader(void) be_node_list_t *be_nodes, *node; FILE *fp; char *root_ds = NULL; - int ret; + int ret = BAM_ERROR; if (nvlist_alloc(&nvl, NV_UNIQUE_NAME, 0) != 0) { bam_error(_("out of memory\n")); - return (BAM_ERROR); + return (ret); } /* @@ -1069,12 +1069,10 @@ install_bootloader(void) if (bam_alt_root) { if (stat(bam_root, &statbuf) != 0) { bam_error(STAT_FAIL, bam_root, strerror(errno)); - ret = BAM_ERROR; goto done; } if ((fp = fopen(MNTTAB, "r")) == NULL) { bam_error(OPEN_FAIL, MNTTAB, strerror(errno)); - ret = BAM_ERROR; goto done; } resetmnttab(fp); @@ -1090,18 +1088,15 @@ install_bootloader(void) if (found == 0) { bam_error(NOT_IN_MNTTAB, bam_root); - ret = BAM_ERROR; goto done; } if (root_ds == NULL) { bam_error(_("out of memory\n")); - ret = BAM_ERROR; goto done; } if (be_list(NULL, &be_nodes) != BE_SUCCESS) { bam_error(_("No BE's found\n")); - ret = BAM_ERROR; goto done; } for (node = be_nodes; node != NULL; node = node->be_next_node) @@ -1115,7 +1110,6 @@ install_bootloader(void) root_ds = NULL; if (node == NULL) { be_free_list(be_nodes); - ret = BAM_ERROR; goto done; } ret = nvlist_add_string(nvl, BE_ATTR_ORIG_BE_NAME, @@ -1123,7 +1117,7 @@ install_bootloader(void) ret |= nvlist_add_string(nvl, BE_ATTR_ORIG_BE_ROOT, node->be_root_ds); be_free_list(be_nodes); - if (ret) { + if (ret != 0) { ret = BAM_ERROR; goto done; } @@ -1138,6 +1132,7 @@ install_bootloader(void) if (nvlist_add_uint16(nvl, BE_ATTR_INSTALL_FLAGS, flags) != 0) { bam_error(_("out of memory\n")); + ret = BAM_ERROR; goto done; } @@ -1148,13 +1143,13 @@ install_bootloader(void) */ if (bam_pool != NULL) { ret = nvlist_add_string(nvl, BE_ATTR_ORIG_BE_POOL, bam_pool); - if (ret) { + if (ret != 0) { ret = BAM_ERROR; goto done; } if (found) { ret = be_installboot(nvl); - if (ret) + if (ret != 0) ret = BAM_ERROR; goto done; } @@ -1187,12 +1182,12 @@ install_bootloader(void) ret |= nvlist_add_string(nvl, BE_ATTR_ORIG_BE_ROOT, node->be_root_ds); be_free_list(be_nodes); - if (ret) { + if (ret != 0) { ret = BAM_ERROR; goto done; } ret = be_installboot(nvl); - if (ret) + if (ret != 0) ret = BAM_ERROR; goto done; } @@ -1249,7 +1244,7 @@ install_bootloader(void) ret |= nvlist_add_string(nvl, BE_ATTR_ORIG_BE_POOL, node->be_rpool); be_free_list(be_nodes); - if (ret) + if (ret != 0) ret = BAM_ERROR; else ret = be_installboot(nvl) ? BAM_ERROR : 0; @@ -1285,10 +1280,10 @@ bam_menu(char *subcmd, char *opt, int largc, char *largv[]) char menu_root[PATH_MAX]; struct stat sb; error_t (*f)(menu_t *mp, char *menu_path, char *opt); - char *special; + char *special = NULL; char *pool = NULL; zfs_mnted_t zmnted; - char *zmntpt; + char *zmntpt = NULL; char *osdev; char *osroot; const char *fcn = "bam_menu()"; @@ -1414,8 +1409,7 @@ bam_menu(char *subcmd, char *opt, int largc, char *largv[]) if ((menu = menu_read(menu_path)) == NULL) { bam_error(CANNOT_LOCATE_GRUB_MENU_FILE, menu_path); - if (special != NULL) - free(special); + free(special); return (BAM_ERROR); } @@ -2259,8 +2253,9 @@ cmpstat( return (0); /* read in list of safe files */ - if (safefiles == NULL) - if (fp = fopen("/boot/solaris/filelist.safe", "r")) { + if (safefiles == NULL) { + fp = fopen("/boot/solaris/filelist.safe", "r"); + if (fp != NULL) { safefiles = s_calloc(1, sizeof (struct safefile)); safefilep = safefiles; @@ -2278,6 +2273,7 @@ cmpstat( } (void) fclose(fp); } + } } /* @@ -2384,11 +2380,12 @@ cmpstat( } } - if (bam_verbose) + if (bam_verbose) { if (bam_smf_check) bam_print(" %s\n", file); else bam_print(PARSEABLE_OUT_DATE, file); + } } return (0); @@ -2408,7 +2405,7 @@ rmdir_r(char *path) if ((dir = opendir(path)) == NULL) return (-1); - while (d = readdir(dir)) { + while ((d = readdir(dir)) != NULL) { if ((strcmp(d->d_name, ".") != 0) && (strcmp(d->d_name, "..") != 0)) { (void) snprintf(tpath, sizeof (tpath), "%s/%s", @@ -4555,6 +4552,7 @@ line_parser(menu_t *mp, char *str, int *lineNum, int *entryNum) menu_flag_t flag = BAM_INVALID; const char *fcn = "line_parser()"; + cmd = NULL; if (str == NULL) { return; } @@ -5315,7 +5313,7 @@ get_grubroot(char *osroot, char *osdev, char *menu_root) { char *grubroot; /* (hd#,#,#) */ char *slice; - char *grubhd; + char *grubhd = NULL; int fdiskpart; int found = 0; char *devname; @@ -5426,7 +5424,7 @@ find_primary_common(char *mntpt, char *fstype) ufs = zfs = lu = NULL; - while (entp = readdir(dirp)) { + while ((entp = readdir(dirp)) != NULL) { if (strcmp(entp->d_name, ".") == 0 || strcmp(entp->d_name, "..") == 0) continue; @@ -6123,8 +6121,7 @@ free_mnttab(mhash_t *mhp) int i; for (i = 0; i < MH_HASH_SZ; i++) { - /*LINTED*/ - while (mcp = mhp->mh_hash[i]) { + while ((mcp = mhp->mh_hash[i]) != NULL) { mhp->mh_hash[i] = mcp->mc_next; free(mcp->mc_special); free(mcp->mc_mntpt); @@ -6637,7 +6634,7 @@ FindAllUfsSignatures(void) goto fail; } - while (dp = readdir(dirp)) { + while ((dp = readdir(dirp)) != NULL) { if (strcmp(dp->d_name, ".") == 0 || strcmp(dp->d_name, "..") == 0) continue; @@ -9121,7 +9118,7 @@ get_set_kernel( char *space; char *new_path; char old_space; - size_t old_kernel_len; + size_t old_kernel_len = 0; size_t new_str_len; char *fstype; char *osdev; |
