Changeset 2271 in MondoRescue


Ignore:
Timestamp:
Jul 12, 2009, 2:05:30 AM (15 years ago)
Author:
Bruno Cornec
Message:

r3223@localhost: bruno | 2009-07-11 14:17:24 +0200
Replace sprintf by mr_asprintf in libmondo-cli.c

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2.10/mondo/src/common/libmondo-cli.c

    r2241 r2271  
    8989
    9090    /*@ buffers *************** */
    91     char *tmp;
     91    char *tmp = NULL;
    9292    char flag_val[128][MAX_STR_LEN];
    9393    bool flag_set[128];
    9494
    95     tmp = malloc(9*MAX_STR_LEN);
    9695    for (i = 0; i < 128; i++) {
    9796        flag_val[i][0] = '\0';
     
    109108        retval += res;
    110109    }
    111 /*
    112   if (!retval)
    113     {
    114 */
    115110    log_msg(3, "Switches:-");
    116111    for (i = 0; i < 128; i++) {
    117112        if (flag_set[i]) {
    118             sprintf(tmp, "-%c %s", i, flag_val[i]);
     113            mr_asprintf(&tmp, "-%c %s", i, flag_val[i]);
    119114            log_msg(3, tmp);
    120         }
    121     }
    122 //    }
    123     sprintf(tmp, "rm -Rf %s/tmp.mondo.*", bkpinfo->tmpdir);
     115            mr_free(tmp);
     116        }
     117    }
     118    mr_asprintf(&tmp, "rm -Rf %s/tmp.mondo.*", bkpinfo->tmpdir);
    124119    paranoid_system(tmp);
    125     sprintf(tmp, "rm -Rf %s/mondo.scratch.*", bkpinfo->scratchdir);
     120    mr_free(tmp);
     121
     122    mr_asprintf(&tmp, "rm -Rf %s/mondo.scratch.*", bkpinfo->scratchdir);
    126123    paranoid_system(tmp);
     124    mr_free(tmp);
     125
    127126    sprintf(bkpinfo->scratchdir + strlen(bkpinfo->scratchdir),
    128127            "/mondo.scratch.%ld", random() % 32767);
    129     sprintf(tmp, "mkdir -p %s/tmpfs", bkpinfo->tmpdir);
     128    mr_asprintf(&tmp, "mkdir -p %s/tmpfs", bkpinfo->tmpdir);
    130129    paranoid_system(tmp);
    131     sprintf(tmp, "mkdir -p %s", bkpinfo->scratchdir);
     130    mr_free(tmp);
     131
     132    mr_asprintf(&tmp, "mkdir -p %s", bkpinfo->scratchdir);
    132133    paranoid_system(tmp);
    133     paranoid_free(tmp);
     134    mr_free(tmp);
    134135    return (retval);
    135136}
     
    148149{
    149150    int j;
    150     char tmp[MAX_STR_LEN], *p, comment[MAX_STR_LEN];
     151    char tmp[MAX_STR_LEN], *p,
     152    char *comment = NULL;
    151153
    152154    assert(bkpinfo != NULL);
     
    159161        *(strchr(tmp, ',')) = '\0';
    160162        bkpinfo->media_size[j] = friendly_sizestr_to_sizelong(tmp);
    161         sprintf(comment, "media_size[%d] = %ld", j,
    162                 bkpinfo->media_size[j]);
     163        mr_asprintf(&comment, "media_size[%d] = %ld", j, bkpinfo->media_size[j]);
    163164        log_msg(3, comment);
     165        mr_free(comment);
    164166    }
    165167    for (; j <= MAX_NOOF_MEDIA; j++) {
     
    668670    char *tmp = NULL;
    669671    char *tmp1 = NULL;
     672    char *tmp2 = NULL;
    670673    char *psz = NULL;
    671674    char *p = NULL;
     
    904907        }
    905908        flag_set['d'] = TRUE;
    906         sprintf(tmp,
     909        mr_asprintf(&tmp1,
    907910                "You didn't specify a tape streamer device. I'm assuming %s",
    908911                flag_val['d']);
    909         log_to_screen(tmp);
     912        log_to_screen(tmp1);
     913        mr_free(tmp1);
    910914        percent = 0;
    911915    }
     
    10151019            strcpy(bkpinfo->nfs_mount,tmp);
    10161020        }
    1017         sprintf(tmp, "mount | grep -E \"^%s[/]* .*\" | cut -d' ' -f3",
     1021        mr_asprintf(&tmp1, "mount | grep -E \"^%s[/]* .*\" | cut -d' ' -f3",
    10181022                bkpinfo->nfs_mount);
    10191023        strncpy(bkpinfo->isodir,
    1020                 call_program_and_get_last_line_of_output(tmp),
     1024                call_program_and_get_last_line_of_output(tmp1),
    10211025                MAX_STR_LEN / 4);
     1026        mr_free(tmp1);
     1027
    10221028        if (strlen(bkpinfo->isodir) < 3) {
    10231029            log_to_screen("NFS share is not mounted. Trying to mount it for you.\n");
    1024             sprintf(tmp, "mount %s", bkpinfo->nfs_mount);
    1025             if (system(tmp)) {
     1030            mr_asprintf(&tmp1, "mount %s", bkpinfo->nfs_mount);
     1031            i = system(tmp1);
     1032            mr_free(tmp1);
     1033            if (i) {
    10261034                log_to_screen("Unable to mount NFS share %s. Please mount manually.\n", bkpinfo->nfs_mount);
    10271035                retval++;
    10281036            } else {
    1029                 sprintf(tmp, "mount | grep -E \"^%s[/]* .*\" | cut -d' ' -f3",
    1030                     bkpinfo->nfs_mount);
     1037                mr_asprintf(&tmp1, "mount | grep -E \"^%s[/]* .*\" | cut -d' ' -f3", bkpinfo->nfs_mount);
    10311038                strncpy(bkpinfo->isodir,
    1032                         call_program_and_get_last_line_of_output(tmp),
     1039                        call_program_and_get_last_line_of_output(tmp1),
    10331040                        MAX_STR_LEN / 4);
     1041                mr_free(tmp1);
     1042
    10341043                if (strlen(bkpinfo->isodir) < 3) {
    10351044                    retval++;
     
    11241133            }
    11251134        }
    1126         paranoid_free(tmp1);
     1135        mr_free(tmp1);
    11271136        lastpos = 0;
    11281137        while ((token = mr_strtok(flag_val['E'], token_chars, &lastpos)) != NULL) {
     
    12271236            && !does_file_exist(bkpinfo->kernel_path)) {
    12281237            retval++;
    1229             sprintf(tmp,
     1238            mr_asprintf(&tmp1,
    12301239                    "You specified kernel '%s', which does not exist\n",
    12311240                    bkpinfo->kernel_path);
    1232             log_to_screen(tmp);
     1241            log_to_screen(tmp1);
     1242            mr_free(tmp1);
    12331243        }
    12341244    }
     
    12421252        if (flag_set['i']) {
    12431253            strncpy(bkpinfo->isodir, flag_val['d'], MAX_STR_LEN / 4);
    1244             sprintf(tmp, "ls -l %s", bkpinfo->isodir);
    1245             if (run_program_and_log_output(tmp, 2)) {
     1254            mr_asprintf(&tmp1, "ls -l %s", bkpinfo->isodir);
     1255            if (run_program_and_log_output(tmp1, 2)) {
     1256                mr_free(tmp1);
    12461257                fatal_error
    12471258                    ("output folder does not exist - please create it");
    12481259            }
     1260            mr_free(tmp1);
    12491261        } else if (flag_set['n']) {
    12501262            strncpy(bkpinfo->nfs_remote_dir, flag_val['d'], MAX_STR_LEN);
     
    12571269        mr_asprintf(&tmp1,"%s/%s/.dummy.txt", bkpinfo->isodir,bkpinfo->nfs_remote_dir);
    12581270        if (bkpinfo->nfs_user) {
    1259             sprintf(tmp, "su - %s -c \"echo hi > %s\"", bkpinfo->nfs_user, tmp1);
     1271            mr_asprintf(&tmp2, "su - %s -c \"echo hi > %s\"", bkpinfo->nfs_user, tmp1);
    12601272        } else {
    1261             sprintf(tmp, "echo hi > %s", tmp1);
    1262         }
    1263         if (run_program_and_log_output(tmp, 2)) {
     1273            mr_asprintf(&tmp2, "echo hi > %s", tmp1);
     1274        }
     1275        i = run_program_and_log_output(tmp2, 2);
     1276        mr_free(tmp2);
     1277
     1278        if (i) {
    12641279            retval++;
    1265             sprintf(tmp,
     1280            mr_asprintf(&tmp2,
    12661281                    "Are you sure directory '%s' exists in remote dir '%s'?\nIf so, do you have rights to write to it?\n",
    12671282                    bkpinfo->nfs_remote_dir, bkpinfo->nfs_mount);
    1268             log_to_screen(tmp);
     1283            log_to_screen(tmp2);
     1284            mr_free(tmp2);
    12691285        }
    12701286        unlink(tmp1);
    1271         paranoid_free(tmp1);
     1287        mr_free(tmp1);
    12721288    }
    12731289
     
    13111327    if (flag_set['T']) {
    13121328        setup_tmpdir(flag_val['T']);
    1313         sprintf(tmp, "touch %s/.foo.dat", bkpinfo->tmpdir);
    1314         if (run_program_and_log_output(tmp, 1)) {
     1329        mr_asprintf(&tmp1, "touch %s/.foo.dat", bkpinfo->tmpdir);
     1330        i = run_program_and_log_output(tmp1, 1);
     1331        mr_free(tmp1);
     1332
     1333        if (i) {
    13151334            retval++;
    1316             log_to_screen
    1317                 ("Please specify a tempdir which I can write to. :)");
     1335            log_to_screen("Please specify a tempdir which I can write to. :)");
    13181336            fatal_error("I cannot write to the tempdir you specified.");
    13191337        }
    1320         sprintf(tmp, "ln -sf %s/.foo.dat %s/.bar.dat", bkpinfo->tmpdir, bkpinfo->tmpdir);
    1321         if (run_program_and_log_output(tmp, 1)) {
     1338        mr_asprintf(&tmp1, "ln -sf %s/.foo.dat %s/.bar.dat", bkpinfo->tmpdir, bkpinfo->tmpdir);
     1339        i = run_program_and_log_output(tmp1, 1);
     1340        mr_free(tmp1);
     1341
     1342        if (i) {
    13221343            retval++;
    1323             log_to_screen
    1324                 ("Please don't specify a SAMBA or VFAT or NFS tmpdir.");
     1344            log_to_screen("Please don't specify a SAMBA or VFAT or NFS tmpdir.");
    13251345            fatal_error("I cannot write to the tempdir you specified.");
    13261346        }
Note: See TracChangeset for help on using the changeset viewer.