Ignore:
Timestamp:
Oct 24, 2006, 8:49:18 AM (18 years ago)
Author:
Bruno Cornec
Message:

Huge patch to introduce low level functions that will bw used everywhere (mr_free, mr_asprintf, ...)
Nearly linking now due to that.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/mondo/src/mondorestore/mondo-rstr-tools.c

    r808 r900  
    1313#include <pthread.h>
    1414#endif
     15#include "mr_mem.h"
    1516
    1617extern bool g_sigpipe_caught;
     
    5253void free_MR_global_filenames()
    5354{
    54     paranoid_free(g_biggielist_txt);
    55     paranoid_free(g_filelist_full);
    56     paranoid_free(g_filelist_imagedevs);
    57     paranoid_free(g_imagedevs_restthese);
    58     paranoid_free(g_mondo_cfg_file);
    59     paranoid_free(g_mountlist_fname);
    60     paranoid_free(g_mondo_home);
    61     paranoid_free(g_tmpfs_mountpt);
    62     paranoid_free(g_isodir_device);
    63     paranoid_free(g_isodir_format);
     55    mr_free(g_biggielist_txt);
     56    mr_free(g_filelist_full);
     57    mr_free(g_filelist_imagedevs);
     58    mr_free(g_imagedevs_restthese);
     59    mr_free(g_mondo_cfg_file);
     60    mr_free(g_mountlist_fname);
     61    mr_free(g_mondo_home);
     62    mr_free(g_tmpfs_mountpt);
     63    mr_free(g_isodir_device);
     64    mr_free(g_isodir_format);
    6465
    6566}
     
    9495        fatal_error("Cannot openin outfname");
    9596    }
    96     for (getline(&incoming, &n, fin);
    97          !feof(fin); getline(&incoming, &n, fin)) {
     97    for (mr_getline(&incoming, &n, fin);
     98         !feof(fin); mr_getline(&incoming, &n, fin)) {
    9899        strip_spaces(incoming);
    99100
     
    102103        }
    103104
    104         asprintf(&question,
     105        mr_asprintf(&question,
    105106                 _("Should I restore the image of %s ?"), incoming);
    106107
     
    108109            fprintf(fout, "%s\n", incoming);
    109110        }
    110         paranoid_free(question);
     111        mr_free(question);
    111112    }
    112113
    113114  /*** free memory ***********/
    114     paranoid_free(incoming);
     115    mr_free(incoming);
    115116
    116117    paranoid_fclose(fout);
     
    147148    assert_string_is_neither_NULL_nor_zerolength(output_cfg_file);
    148149    assert_string_is_neither_NULL_nor_zerolength(output_mountlist_file);
    149     asprintf(&mountpt, "%s/mount.bootdisk", bkpinfo->tmpdir);
    150     asprintf(&command, "mkdir -p %s", mountpt);
     150    mr_asprintf(&mountpt, "%s/mount.bootdisk", bkpinfo->tmpdir);
     151    mr_asprintf(&command, "mkdir -p %s", mountpt);
    151152    run_program_and_log_output(command, FALSE);
    152     paranoid_free(command);
    153 
    154     asprintf(&command, "gzip -dc %s > %s/mindi.rd 2> /dev/null",
     153    mr_free(command);
     154
     155    mr_asprintf(&command, "gzip -dc %s > %s/mindi.rd 2> /dev/null",
    155156            ramdisk_fname, bkpinfo->tmpdir);
    156157    run_program_and_log_output(command, FALSE);
    157     paranoid_free(command);
    158 
    159     asprintf(&command, "umount %s", mountpt);
     158    mr_free(command);
     159
     160    mr_asprintf(&command, "umount %s", mountpt);
    160161    run_program_and_log_output(command, FALSE);
    161     paranoid_free(command);
    162 
    163     asprintf(&command, "mount -o loop %s/mindi.rd -t ext2 %s",
     162    mr_free(command);
     163
     164    mr_asprintf(&command, "mount -o loop %s/mindi.rd -t ext2 %s",
    164165            bkpinfo->tmpdir, mountpt);
    165166    run_program_and_log_output(command, FALSE);
    166     paranoid_free(command);
    167 
    168     asprintf(&command, "mkdir -p %s/tmp", bkpinfo->tmpdir);
     167    mr_free(command);
     168
     169    mr_asprintf(&command, "mkdir -p %s/tmp", bkpinfo->tmpdir);
    169170    run_program_and_log_output(command, FALSE);
    170     paranoid_free(command);
    171 
    172     asprintf(&command, "cp -f %s/%s %s",    // %s/%s becomes {mountpt}/tmp/m*ndo-restore.cfg
     171    mr_free(command);
     172
     173    mr_asprintf(&command, "cp -f %s/%s %s", // %s/%s becomes {mountpt}/tmp/m*ndo-restore.cfg
    173174            mountpt, g_mondo_cfg_file, output_cfg_file);
    174175    run_program_and_log_output(command, FALSE);
    175     paranoid_free(command);
    176 
    177     asprintf(&orig_fname, "%s/%s", mountpt, g_mountlist_fname);
     176    mr_free(command);
     177
     178    mr_asprintf(&orig_fname, "%s/%s", mountpt, g_mountlist_fname);
    178179    if (does_file_exist(orig_fname)) {
    179         asprintf(&command, "cp -f %s %s", orig_fname, output_mountlist_file);
     180        mr_asprintf(&command, "cp -f %s %s", orig_fname, output_mountlist_file);
    180181        run_program_and_log_output(command, FALSE);
    181         paranoid_free(command);
    182     }
    183     asprintf(&command, "umount %s", mountpt);
    184     paranoid_free(mountpt);
     182        mr_free(command);
     183    }
     184    mr_asprintf(&command, "umount %s", mountpt);
     185    mr_free(mountpt);
    185186
    186187    run_program_and_log_output(command, FALSE);
    187     paranoid_free(command);
     188    mr_free(command);
    188189
    189190    if (!does_file_exist(output_cfg_file)
     
    196197        retval = 0;
    197198    }
    198     paranoid_free(orig_fname);
     199    mr_free(orig_fname);
    199200    return (retval);
    200201}
     
    240241
    241242    if (strncmp(preamble, f, strlen(preamble)) == 0) {
    242         asprintf(&file, f + strlen(preamble));
    243     } else {
    244         asprintf(&file, f);
     243        mr_asprintf(&file, f + strlen(preamble));
     244    } else {
     245        mr_asprintf(&file, f);
    245246    }
    246247    if (file[0] == '/' && file[1] == '/') {
    247         asprintf(&tmp, file);
    248         paranoid_free(file);
    249         asprintf(&file, tmp + 1);
    250         paranoid_free(tmp);
    251     }
    252     asprintf(&tmp,
     248        mr_asprintf(&tmp, file);
     249        mr_free(file);
     250        mr_asprintf(&file, tmp + 1);
     251        mr_free(tmp);
     252    }
     253    mr_asprintf(&tmp,
    253254            "Checking to see if f=%s, file=%s, is in the list of biggiefiles",
    254255            f, file);
    255256    log_msg(2, tmp);
    256     paranoid_free(tmp);
    257 
    258     asprintf(&command, "grep -x \"%s\" %s", file, list_fname);
    259     paranoid_free(file);
     257    mr_free(tmp);
     258
     259    mr_asprintf(&command, "grep -x \"%s\" %s", file, list_fname);
     260    mr_free(file);
    260261
    261262    res = run_program_and_log_output(command, FALSE);
    262     paranoid_free(command);
     263    mr_free(command);
    263264    if (res) {
    264265        return (FALSE);
     
    292293    g_ISO_restore_mode = TRUE;
    293294
    294     paranoid_free(g_isodir_device);
     295    mr_free(g_isodir_device);
    295296    read_cfg_var(g_mondo_cfg_file, "iso-dev", g_isodir_device);
    296297    if (bkpinfo->disaster_recovery) {
     
    298299 * Don't let this clobber an existing bkpinfo->isodir */
    299300        if (!bkpinfo->isodir) {
    300             paranoid_alloc(bkpinfo->isodir, "/tmp/isodir");
     301            mr_allocstr(bkpinfo->isodir, "/tmp/isodir");
    301302        }
    302303/* End patch */
    303         asprintf(&command, "mkdir -p %s", bkpinfo->isodir);
     304        mr_asprintf(&command, "mkdir -p %s", bkpinfo->isodir);
    304305        run_program_and_log_output(command, 5);
    305         paranoid_free(command);
     306        mr_free(command);
    306307        log_msg(2, "Setting isodir to %s", bkpinfo->isodir);
    307308    }
     
    319320    } else {
    320321        if (g_isodir_format != NULL) {
    321             asprintf(&mount_isodir_command, "mount %s -t %s -o ro %s", g_isodir_device, g_isodir_format, bkpinfo->isodir);
     322            mr_asprintf(&mount_isodir_command, "mount %s -t %s -o ro %s", g_isodir_device, g_isodir_format, bkpinfo->isodir);
    322323        } else {
    323             asprintf(&mount_isodir_command, "mount %s -o ro %s", g_isodir_device, bkpinfo->isodir);
     324            mr_asprintf(&mount_isodir_command, "mount %s -o ro %s", g_isodir_device, bkpinfo->isodir);
    324325        }
    325326        run_program_and_log_output("df -m", FALSE);
    326         asprintf(&tmp,
     327        mr_asprintf(&tmp,
    327328                "The 'mount' command is '%s'. PLEASE report this command to be if you have problems, ok?",
    328329                mount_isodir_command);
    329330        log_msg(1, tmp);
    330         paranoid_free(tmp);
     331        mr_free(tmp);
    331332
    332333        if (run_program_and_log_output(mount_isodir_command, FALSE)) {
     
    334335                (_
    335336                 ("Cannot mount the device where the ISO files are stored."));
    336             paranoid_free(mount_isodir_command);
     337            mr_free(mount_isodir_command);
    337338            return (1);
    338339        }
    339         paranoid_free(mount_isodir_command);
     340        mr_free(mount_isodir_command);
    340341        log_to_screen
    341342            (_
     
    346347    }
    347348    i = what_number_cd_is_this(bkpinfo);    /* has the side-effect of calling mount_cdrom() */
    348     asprintf(&tmp, "%s #%d has been mounted via loopback mount",
     349    mr_asprintf(&tmp, "%s #%d has been mounted via loopback mount",
    349350            bkpinfo->backup_media_string, i);
    350351    log_msg(1, tmp);
    351     paranoid_free(tmp);
     352    mr_free(tmp);
    352353
    353354    if (i < 0) {
     
    368369{
    369370    char *command;
    370     asprintf(&command,
     371    mr_asprintf(&command,
    371372            "kill `ps 2> /dev/null | grep petris 2> /dev/null | grep -v grep | cut -d' ' -f2` 2> /dev/null");
    372373    paranoid_system(command);
    373     paranoid_free(command);
     374    mr_free(command);
    374375}
    375376
     
    413414                    "Again with the /proc - why is this in your mountlist?");
    414415        } else if (is_this_device_mounted(mountlist->el[lino].device)) {
    415             asprintf(&tmp, _("%s is already mounted"),
     416            mr_asprintf(&tmp, _("%s is already mounted"),
    416417                    mountlist->el[lino].device);
    417418            log_to_screen(tmp);
    418             paranoid_free(tmp);
     419            mr_free(tmp);
    419420        } else if (strcmp(mountlist->el[lino].mountpoint, "none")
    420421                   && strcmp(mountlist->el[lino].mountpoint, "lvm")
    421422                   && strcmp(mountlist->el[lino].mountpoint, "raid")
    422423                   && strcmp(mountlist->el[lino].mountpoint, "image")) {
    423             asprintf(&tmp, "Mounting %s", mountlist->el[lino].device);
     424            mr_asprintf(&tmp, "Mounting %s", mountlist->el[lino].device);
    424425            update_progress_form(tmp);
    425             paranoid_free(tmp);
    426 
    427             asprintf(&format, mountlist->el[lino].format);
     426            mr_free(tmp);
     427
     428            mr_asprintf(&format, mountlist->el[lino].format);
    428429            if (!strcmp(format, "ext3")) {
    429                 paranoid_free(format);
    430                 asprintf(&format, "ext2");
     430                mr_free(format);
     431                mr_asprintf(&format, "ext2");
    431432            }
    432433            res = mount_device(mountlist->el[lino].device,
     
    436437            if (res) {
    437438                if (these_failed != NULL) { /* not the first time */
    438                     asprintf(&tmp, "%s %s", these_failed, mountlist->el[lino].device);
    439                     paranoid_free(these_failed);
     439                    mr_asprintf(&tmp, "%s %s", these_failed, mountlist->el[lino].device);
     440                    mr_free(these_failed);
    440441                    these_failed = tmp;
    441442                } else { /* The first time */
    442                     asprintf(&these_failed, "%s ", mountlist->el[lino].device);
     443                    mr_asprintf(&these_failed, "%s ", mountlist->el[lino].device);
    443444                }
    444445            }
    445             paranoid_free(format);
     446            mr_free(format);
    446447        }
    447448        g_current_progress++;
     
    459460                          ("format and restore *without* partitioning first. Sorry for the inconvenience."));
    460461        }
    461         asprintf(&tmp, _("Could not mount devices %s- shall I abort?"),
     462        mr_asprintf(&tmp, _("Could not mount devices %s- shall I abort?"),
    462463                these_failed);
    463         paranoid_free(these_failed);
     464        mr_free(these_failed);
    464465
    465466        if (!ask_me_yes_or_no(tmp)) {
     
    474475                (_("Unable to mount some or all of your partitions."));
    475476        }
    476         paranoid_free(tmp);
     477        mr_free(tmp);
    477478    } else {
    478479        log_to_screen(_("All partitions were mounted OK."));
     
    480481    }
    481482    run_program_and_log_output("df -m", 3);
    482     paranoid_free(mountlist);
     483    mr_free(mountlist);
    483484    return (retval);
    484485}
     
    523524        if ((!bkpinfo->isodir || !strcmp(bkpinfo->isodir, "/"))
    524525            && am_I_in_disaster_recovery_mode()) {
    525             paranoid_alloc(bkpinfo->isodir, "/tmp/isodir");
     526            mr_allocstr(bkpinfo->isodir, "/tmp/isodir");
    526527            log_msg(1, "isodir is being set to %s", bkpinfo->isodir);
    527528        }
    528529#ifdef __FreeBSD__
    529         asprintf(&mount_cmd, "/mnt/isodir/%s/%s/%s-%d.iso", bkpinfo->isodir,
     530        mr_asprintf(&mount_cmd, "/mnt/isodir/%s/%s/%s-%d.iso", bkpinfo->isodir,
    530531                bkpinfo->nfs_remote_dir, bkpinfo->prefix,
    531532                g_current_media_number);
    532533        mddev = make_vn(mount_cmd);
    533         paranoid_free(mount_cmd);
    534 
    535         asprintf(&mount_cmd, "mount_cd9660 -r %s " MNT_CDROM, mddev);
    536         paranoid_free(mddev);
     534        mr_free(mount_cmd);
     535
     536        mr_asprintf(&mount_cmd, "mount_cd9660 -r %s " MNT_CDROM, mddev);
     537        mr_free(mddev);
    537538#else
    538         asprintf(&mount_cmd,
     539        mr_asprintf(&mount_cmd,
    539540                "mount %s/%s/%s-%d.iso -t iso9660 -o loop,ro %s",
    540541                bkpinfo->isodir, bkpinfo->nfs_remote_dir, bkpinfo->prefix,
     
    544545    } else if (bkpinfo->backup_media_type == iso) {
    545546#ifdef __FreeBSD__
    546         asprintf(&mount_cmd, "%s/%s-%d.iso", bkpinfo->isodir,
     547        mr_asprintf(&mount_cmd, "%s/%s-%d.iso", bkpinfo->isodir,
    547548                bkpinfo->prefix, g_current_media_number);
    548549        mddev = make_vn(mount_cmd);
    549         paranoid_free(mount_cmd);
    550 
    551         asprintf(&mount_cmd, "mount_cd9660 -r %s %s", mddev, MNT_CDROM);
    552         paranoid_free(mddev);
     550        mr_free(mount_cmd);
     551
     552        mr_asprintf(&mount_cmd, "mount_cd9660 -r %s %s", mddev, MNT_CDROM);
     553        mr_free(mddev);
    553554#else
    554         asprintf(&mount_cmd, "mount %s/%s-%d.iso -t iso9660 -o loop,ro %s",
     555        mr_asprintf(&mount_cmd, "mount %s/%s-%d.iso -t iso9660 -o loop,ro %s",
    555556                bkpinfo->isodir, bkpinfo->prefix, g_current_media_number,
    556557                MNT_CDROM);
     
    559560#ifdef __FreeBSD__
    560561    {
    561         asprintf(&mount_cmd, "mount_cd9660 -r %s %s", bkpinfo->media_device,
     562        mr_asprintf(&mount_cmd, "mount_cd9660 -r %s %s", bkpinfo->media_device,
    562563                MNT_CDROM);
    563564    }
    564565#else
    565566    {
    566         asprintf(&mount_cmd, "mount %s -t iso9660 -o ro %s",
     567        mr_asprintf(&mount_cmd, "mount %s -t iso9660 -o ro %s",
    567568                bkpinfo->media_device, MNT_CDROM);
    568569    }
     
    572573        if (bkpinfo->disaster_recovery
    573574            && does_file_exist("/tmp/CDROM-LIVES-HERE")) {
    574             paranoid_free(bkpinfo->media_device);
     575            mr_free(bkpinfo->media_device);
    575576            bkpinfo->media_device = last_line_of_file("/tmp/CDROM-LIVES-HERE");
    576577        } else {
    577             paranoid_free(bkpinfo->media_device);
     578            mr_free(bkpinfo->media_device);
    578579            bkpinfo->media_device = find_cdrom_device(TRUE);
    579580        }
    580581
    581582#ifdef __FreeBSD__
    582         asprintf(&mount_cmd, "mount_cd9660 -r %s %s", bkpinfo->media_device,
     583        mr_asprintf(&mount_cmd, "mount_cd9660 -r %s %s", bkpinfo->media_device,
    583584                MNT_CDROM);
    584585#else
    585         asprintf(&mount_cmd, "mount %s -t iso9660 -o ro %s",
     586        mr_asprintf(&mount_cmd, "mount %s -t iso9660 -o ro %s",
    586587                bkpinfo->media_device, MNT_CDROM);
    587588#endif
     
    599600        }
    600601    }
    601     paranoid_free(mount_cmd);
     602    mr_free(mount_cmd);
    602603
    603604    if (res) {
     
    639640
    640641    if (!strcmp(mpt, "/1")) {
    641         asprintf(&mountpoint, "/");
     642        mr_asprintf(&mountpoint, "/");
    642643        log_msg(3, "Mommm! SME is being a dildo!");
    643644    } else {
    644         asprintf(&mountpoint, mpt);
     645        mr_asprintf(&mountpoint, mpt);
    645646    }
    646647
    647648    if (!strcmp(mountpoint, "lvm")) {
    648         paranoid_free(mountpoint);
     649        mr_free(mountpoint);
    649650        return (0);
    650651    }
    651652    if (!strcmp(mountpoint, "image")) {
    652         paranoid_free(mountpoint);
     653        mr_free(mountpoint);
    653654        return (0);
    654655    }
    655     asprintf(&tmp, "Mounting device %s   ", device);
     656    mr_asprintf(&tmp, "Mounting device %s   ", device);
    656657    log_msg(1, tmp);
    657658
    658659    if (writeable) {
    659         asprintf(&p1, "-o rw");
    660     } else {
    661         asprintf(&p1, "-o ro");
     660        mr_asprintf(&p1, "-o rw");
     661    } else {
     662        mr_asprintf(&p1, "-o ro");
    662663    }
    663664    tmp = find_home_of_exe("setfattr");
    664665    if (tmp) {
    665         asprintf(&p2, ",user_xattr");
    666     } else {
    667         asprintf(&p2, "%s", "");
    668     }
    669     paranoid_free(tmp);
     666        mr_asprintf(&p2, ",user_xattr");
     667    } else {
     668        mr_asprintf(&p2, "%s", "");
     669    }
     670    mr_free(tmp);
    670671
    671672    tmp = find_home_of_exe("setfacl");
    672673    if (tmp) {
    673         asprintf(&p3, ",acl");
    674     } else {
    675         asprintf(&p3, "%s", "");
    676     }
    677     paranoid_free(tmp);
    678 
    679     asprintf(&additional_parameters, "%s%s%s", p1, p2, p3);
    680     paranoid_free(p1);
    681     paranoid_free(p2);
    682     paranoid_free(p3);
     674        mr_asprintf(&p3, ",acl");
     675    } else {
     676        mr_asprintf(&p3, "%s", "");
     677    }
     678    mr_free(tmp);
     679
     680    mr_asprintf(&additional_parameters, "%s%s%s", p1, p2, p3);
     681    mr_free(p1);
     682    mr_free(p2);
     683    mr_free(p3);
    683684
    684685    if (!strcmp(mountpoint, "swap")) {
    685         asprintf(&command, "swapon %s", device);
     686        mr_asprintf(&command, "swapon %s", device);
    686687    } else {
    687688        if (!strcmp(mountpoint, "/")) {
    688             asprintf(&mountdir, MNT_RESTORING);
     689            mr_asprintf(&mountdir, MNT_RESTORING);
    689690        } else {
    690             asprintf(&mountdir, "%s%s", MNT_RESTORING, mountpoint);
    691         }
    692         asprintf(&command, "mkdir -p %s", mountdir);
     691            mr_asprintf(&mountdir, "%s%s", MNT_RESTORING, mountpoint);
     692        }
     693        mr_asprintf(&command, "mkdir -p %s", mountdir);
    693694        run_program_and_log_output(command, FALSE);
    694         paranoid_free(command);
    695 
    696         asprintf(&command, "mount -t %s %s %s %s 2>> %s", format, device,
     695        mr_free(command);
     696
     697        mr_asprintf(&command, "mount -t %s %s %s %s 2>> %s", format, device,
    697698                additional_parameters, mountdir, MONDO_LOGFILE);
    698699        log_msg(2, "command='%s'", command);
    699700    }
    700     paranoid_free(additional_parameters);
     701    mr_free(additional_parameters);
    701702
    702703    res = run_program_and_log_output(command, TRUE);
    703704    if (res && (strstr(command, "xattr") || strstr(command, "acl"))) {
    704705        log_msg(1, "Re-trying without the fancy extra parameters");
    705         paranoid_free(command);
    706 
    707         asprintf(&command, "mount -t %s %s %s 2>> %s", format, device,
     706        mr_free(command);
     707
     708        mr_asprintf(&command, "mount -t %s %s %s 2>> %s", format, device,
    708709                mountdir, MONDO_LOGFILE);
    709710        res = run_program_and_log_output(command, TRUE);
     
    717718        } else {
    718719            log_msg(2, "Retrying w/o the '-t' switch");
    719             paranoid_free(command);
    720 
    721             asprintf(&command, "mount %s %s 2>> %s", device, mountdir,
     720            mr_free(command);
     721
     722            mr_asprintf(&command, "mount %s %s 2>> %s", device, mountdir,
    722723                    MONDO_LOGFILE);
    723724            log_msg(2, "2nd command = '%s'", command);
     
    731732        }
    732733    }
    733     paranoid_free(tmp);
    734     paranoid_free(command);
    735     paranoid_free(mountdir);
     734    mr_free(tmp);
     735    mr_free(command);
     736    mr_free(mountdir);
    736737
    737738    if (res && !strcmp(mountpoint, "swap")) {
     
    740741        res = 0;
    741742    }
    742     paranoid_free(mountpoint);
     743    mr_free(mountpoint);
    743744
    744745    return (res);
     
    836837                }
    837838            }
    838             paranoid_free(value);
     839            mr_free(value);
    839840
    840841            if (read_cfg_var(cfg_file, "iso-prefix", value) == 0) {
    841                 paranoid_alloc(bkpinfo->prefix,value);
     842                mr_allocstr(bkpinfo->prefix,value);
    842843            } else {
    843                 paranoid_alloc(bkpinfo->prefix, STD_PREFIX);
     844                mr_allocstr(bkpinfo->prefix, STD_PREFIX);
    844845            }
    845846        } else if (!strcmp(value, "nfs")) {
    846847            bkpinfo->backup_media_type = nfs;
    847             paranoid_free(value);
     848            mr_free(value);
    848849            if (read_cfg_var(cfg_file, "iso-prefix", value) == 0) {
    849                 paranoid_alloc(bkpinfo->prefix,value);
     850                mr_allocstr(bkpinfo->prefix,value);
    850851            } else {
    851                 paranoid_alloc(bkpinfo->prefix, STD_PREFIX);
     852                mr_allocstr(bkpinfo->prefix, STD_PREFIX);
    852853            }
    853854            /* We need to override prefix value in PXE mode as it's
     
    868869        fatal_error("backup-media-type not specified!");
    869870    }
    870     paranoid_free(value);
     871    mr_free(value);
    871872
    872873    if (bkpinfo->disaster_recovery) {
    873874        if (bkpinfo->backup_media_type == cdstream) {
    874             paranoid_alloc(bkpinfo->media_device, "/dev/cdrom");
     875            mr_allocstr(bkpinfo->media_device, "/dev/cdrom");
    875876            bkpinfo->media_size[0] = 1999 * 1024;
    876877            bkpinfo->media_size[1] = 650;   /* good guess */
    877878        } else if (bkpinfo->backup_media_type == tape
    878879                   || bkpinfo->backup_media_type == udev) {
    879             paranoid_free(bkpinfo->media_device);
     880            mr_free(bkpinfo->media_device);
    880881            if (read_cfg_var(cfg_file, "media-dev", bkpinfo->media_device)) {
    881882                fatal_error("Cannot get tape device name from cfg file");
     
    883884            read_cfg_var(cfg_file, "media-size", value);
    884885            bkpinfo->media_size[1] = atol(value);
    885             paranoid_free(value);
    886 
    887             asprintf(&tmp, "Backup medium is TAPE --- dev=%s",
     886            mr_free(value);
     887
     888            mr_asprintf(&tmp, "Backup medium is TAPE --- dev=%s",
    888889                    bkpinfo->media_device);
    889890            log_msg(2, tmp);
    890             paranoid_free(tmp);
     891            mr_free(tmp);
    891892        } else {
    892             paranoid_alloc(bkpinfo->media_device, "/dev/cdrom");
     893            mr_allocstr(bkpinfo->media_device, "/dev/cdrom");
    893894            bkpinfo->media_size[0] = 1999 * 1024;   /* 650, probably, but we don't need this var anyway */
    894895            bkpinfo->media_size[1] = 1999 * 1024;   /* 650, probably, but we don't need this var anyway */
     
    905906        log_msg(1, "Goody! ... bkpinfo->use_star is now true.");
    906907    }
    907     paranoid_free(value);
     908    mr_free(value);
    908909
    909910    if (0 == read_cfg_var(cfg_file, "internal-tape-block-size", value)) {
     
    917918                DEFAULT_INTERNAL_TAPE_BLOCK_SIZE);
    918919    }
    919     paranoid_free(value);
     920    mr_free(value);
    920921
    921922    read_cfg_var(cfg_file, "use-lzo", value);
    922923    if (strstr(value, "yes")) {
    923924        bkpinfo->use_lzo = TRUE;
    924         paranoid_alloc(bkpinfo->zip_exe, "lzop");
    925         paranoid_alloc(bkpinfo->zip_suffix, "lzo");
    926     } else {
    927         paranoid_free(value);
     925        mr_allocstr(bkpinfo->zip_exe, "lzop");
     926        mr_allocstr(bkpinfo->zip_suffix, "lzo");
     927    } else {
     928        mr_free(value);
    928929        read_cfg_var(cfg_file, "use-comp", value);
    929930        if (strstr(value, "yes")) {
    930931            bkpinfo->use_lzo = FALSE;
    931             paranoid_alloc(bkpinfo->zip_exe, "bzip2");
    932             paranoid_alloc(bkpinfo->zip_suffix, "bz2");
     932            mr_allocstr(bkpinfo->zip_exe, "bzip2");
     933            mr_allocstr(bkpinfo->zip_suffix, "bz2");
    933934        } else {
    934935            // Just to be sure
     
    937938        }
    938939    }
    939     paranoid_free(value);
     940    mr_free(value);
    940941
    941942    read_cfg_var(cfg_file, "differential", value);
     
    944945    }
    945946    log_msg(2, "differential var = '%s'", value);
    946     paranoid_free(value);
     947    mr_free(value);
    947948
    948949    if (bkpinfo->differential) {
     
    962963        log_msg(2, "Ok, I shan't eject when restoring! Groovy.");
    963964    }
    964     paranoid_free(tmp);
    965     paranoid_free(tmp1);
     965    mr_free(tmp);
     966    mr_free(tmp1);
    966967
    967968    if (bkpinfo->backup_media_type == nfs) {
     
    973974                    "...cos it wouldn't make sense to abandon the values that GOT ME to this config file in the first place");
    974975        } else {
    975             paranoid_free(bkpinfo->nfs_mount);
    976             paranoid_free(bkpinfo->nfs_remote_dir);
     976            mr_free(bkpinfo->nfs_mount);
     977            mr_free(bkpinfo->nfs_remote_dir);
    977978            read_cfg_var(g_mondo_cfg_file, "nfs-server-mount",
    978979                         bkpinfo->nfs_mount);
     
    994995         * isodir in disaster recovery mode
    995996         */
    996         paranoid_alloc(old_isodir,bkpinfo->isodir);
     997        mr_allocstr(old_isodir,bkpinfo->isodir);
    997998        read_cfg_var(g_mondo_cfg_file, "iso-mnt", iso_mnt);
    998999        read_cfg_var(g_mondo_cfg_file, "isodir", iso_path);
    9991000        if (iso_mnt && iso_path) {
    1000             paranoid_free(bkpinfo->isodir);
    1001             asprintf(&bkpinfo->isodir, "%s%s", iso_mnt, iso_path);
    1002         }
    1003         paranoid_free(iso_mnt);
    1004         paranoid_free(iso_path);
     1001            mr_free(bkpinfo->isodir);
     1002            mr_asprintf(&bkpinfo->isodir, "%s%s", iso_mnt, iso_path);
     1003        }
     1004        mr_free(iso_mnt);
     1005        mr_free(iso_path);
    10051006
    10061007        if (!bkpinfo->disaster_recovery) {
     
    10111012            }
    10121013        }
    1013         paranoid_free(old_isodir);
    1014 
    1015         paranoid_free(g_isodir_device);
     1014        mr_free(old_isodir);
     1015
     1016        mr_free(g_isodir_device);
    10161017        read_cfg_var(g_mondo_cfg_file, "iso-dev", g_isodir_device);
    10171018        log_msg(2, "isodir=%s; iso-dev=%s", bkpinfo->isodir, g_isodir_device);
     
    10201021                log_msg(2, "NB: isodir is already mounted");
    10211022                /* Find out where it's mounted */
    1022                 asprintf(&command,
     1023                mr_asprintf(&command,
    10231024                        "mount | grep -w %s | tail -n1 | cut -d' ' -f3",
    10241025                        g_isodir_device);
     
    10271028                log_it("res of it = %s", tmp);
    10281029                iso_mnt = tmp;
    1029                 paranoid_free(command);
     1030                mr_free(command);
    10301031            } else {
    1031                 asprintf(&iso_mnt, "/tmp/isodir");
    1032                 asprintf(&tmp, "mkdir -p %s", iso_mnt);
     1032                mr_asprintf(&iso_mnt, "/tmp/isodir");
     1033                mr_asprintf(&tmp, "mkdir -p %s", iso_mnt);
    10331034                run_program_and_log_output(tmp, 5);
    1034                 paranoid_free(tmp);
    1035 
    1036                 asprintf(&tmp, "mount %s %s", g_isodir_device, iso_mnt);
     1035                mr_free(tmp);
     1036
     1037                mr_asprintf(&tmp, "mount %s %s", g_isodir_device, iso_mnt);
    10371038                if (run_program_and_log_output(tmp, 3)) {
    10381039                    log_msg(1,
    10391040                            "Unable to mount isodir. Perhaps this is really a CD backup?");
    10401041                    bkpinfo->backup_media_type = cdr;
    1041                     paranoid_alloc(bkpinfo->media_device, "/dev/cdrom");
    1042                     paranoid_free(bkpinfo->isodir);
    1043                     paranoid_free(iso_mnt);
    1044                     paranoid_free(iso_path);
    1045                     asprintf(&iso_mnt, "%s", "");
    1046                     asprintf(&iso_path, "%s", "");
     1042                    mr_allocstr(bkpinfo->media_device, "/dev/cdrom");
     1043                    mr_free(bkpinfo->isodir);
     1044                    mr_free(iso_mnt);
     1045                    mr_free(iso_path);
     1046                    mr_asprintf(&iso_mnt, "%s", "");
     1047                    mr_asprintf(&iso_path, "%s", "");
    10471048
    10481049                    if (mount_cdrom(bkpinfo)) {
     
    10541055                    }
    10551056                }
    1056                 paranoid_free(tmp);
     1057                mr_free(tmp);
    10571058            }
    10581059            /* bkpinfo->isodir should now be the true path to prefix-1.iso etc... */
    10591060            if (bkpinfo->backup_media_type == iso) {
    1060                 paranoid_free(bkpinfo->isodir);
    1061                 asprintf(&bkpinfo->isodir, "%s%s", iso_mnt, iso_path);
    1062             }
    1063             paranoid_free(iso_mnt);
    1064             paranoid_free(iso_path);
     1061                mr_free(bkpinfo->isodir);
     1062                mr_asprintf(&bkpinfo->isodir, "%s%s", iso_mnt, iso_path);
     1063            }
     1064            mr_free(iso_mnt);
     1065            mr_free(iso_path);
    10651066        }
    10661067    }
     
    11311132        unlink("/tmp/i-want-my-lvm");
    11321133        if (IS_THIS_A_STREAMING_BACKUP(bkpinfo->backup_media_type)) {
    1133             asprintf(&command,
     1134            mr_asprintf(&command,
    11341135                    "tar -zxf %s %s %s %s %s %s",
    11351136                    bkpinfo->media_device,
     
    11401141            log_msg(1, "tarcommand = %s", command);
    11411142            run_program_and_log_output(command, 1);
    1142             paranoid_free(command);
     1143            mr_free(command);
    11431144        } else {
    11441145            log_msg(2,
     
    11481149            log_msg(2, "Back from iotcn");
    11491150            run_program_and_log_output("mount", 1);
    1150             asprintf(&command,
     1151            mr_asprintf(&command,
    11511152                    "tar -zxf %s/images/all.tar.gz %s %s %s %s %s",
    11521153                    MNT_CDROM,
     
    11581159            log_msg(1, "tarcommand = %s", command);
    11591160            run_program_and_log_output(command, 1);
    1160             paranoid_free(command);
     1161            mr_free(command);
    11611162
    11621163            if (!does_file_exist(BIGGIELIST_TXT_STUB)) {
     
    11691170            }
    11701171        }
    1171         asprintf(&command, "cp -f %s %s", MONDO_CFG_FILE_STUB,
     1172        mr_asprintf(&command, "cp -f %s %s", MONDO_CFG_FILE_STUB,
    11721173                g_mondo_cfg_file);
    11731174        run_program_and_log_output(command, FALSE);
    1174         paranoid_free(command);
    1175 
    1176         asprintf(&command, "cp -f %s/%s %s", bkpinfo->tmpdir,
     1175        mr_free(command);
     1176
     1177        mr_asprintf(&command, "cp -f %s/%s %s", bkpinfo->tmpdir,
    11771178                BIGGIELIST_TXT_STUB, g_biggielist_txt);
    11781179        log_msg(1, "command = %s", command);
    11791180        paranoid_system(command);
    1180         paranoid_free(command);
    1181 
    1182         asprintf(&command, "ln -sf %s/%s %s", bkpinfo->tmpdir,
     1181        mr_free(command);
     1182
     1183        mr_asprintf(&command, "ln -sf %s/%s %s", bkpinfo->tmpdir,
    11831184                FILELIST_FULL_STUB, g_filelist_full);
    11841185        log_msg(1, "command = %s", command);
    11851186        paranoid_system(command);
    1186         paranoid_free(command);
     1187        mr_free(command);
    11871188    }
    11881189
     
    11921193                         ("Do you want to retrieve the mountlist as well?")))
    11931194    {
    1194         asprintf(&command, "ln -sf %s/%s /tmp", MOUNTLIST_FNAME_STUB,
     1195        mr_asprintf(&command, "ln -sf %s/%s /tmp", MOUNTLIST_FNAME_STUB,
    11951196                bkpinfo->tmpdir);
    11961197        paranoid_system(command);
    1197         paranoid_free(command);
     1198        mr_free(command);
    11981199    }
    11991200
    12001201    chdir(tmp);
    1201     paranoid_free(tmp);
     1202    mr_free(tmp);
    12021203
    12031204    if (!does_file_exist(g_biggielist_txt)) {
     
    12191220        log_to_screen(("Pre-processing filelist"));
    12201221        if (!does_file_exist(g_biggielist_txt)) {
    1221             asprintf(&command, "> %s", g_biggielist_txt);
     1222            mr_asprintf(&command, "> %s", g_biggielist_txt);
    12221223            paranoid_system(command);
    1223             paranoid_free(command);
    1224         }
    1225         asprintf(&command, "grep  -x \"/dev/.*\" %s > %s",
     1224            mr_free(command);
     1225        }
     1226        mr_asprintf(&command, "grep  -x \"/dev/.*\" %s > %s",
    12261227                g_biggielist_txt, g_filelist_imagedevs);
    12271228        paranoid_system(command);
    1228         paranoid_free(command);
     1229        mr_free(command);
    12291230        exit(0);
    12301231        break;
     
    12451246    if (g_text_mode) {
    12461247        printf(_("Restore which directory? --> "));
    1247         getline(&tmp, &n, stdin);
     1248        mr_getline(&tmp, &n, stdin);
    12481249        toggle_path_selection(filelist, tmp, TRUE);
    12491250        if (strlen(tmp) == 0) {
     
    12521253            res = 0;
    12531254        }
    1254         paranoid_free(tmp);
     1255        mr_free(tmp);
    12551256    } else {
    12561257        res = edit_filelist(filelist);
     
    12961297    assert_string_is_neither_NULL_nor_zerolength(filename);
    12971298
    1298     asprintf(&command, "cp -f %s/%s %s/%s.pristine", path_root, filename,path_root, filename);
     1299    mr_asprintf(&command, "cp -f %s/%s %s/%s.pristine", path_root, filename,path_root, filename);
    12991300    res = run_program_and_log_output(command, 5);
    1300     paranoid_free(command);
     1301    mr_free(command);
    13011302    return (res);
    13021303}
     
    13241325    read_cfg_var(g_mondo_cfg_file, "bootloader.device", device);
    13251326    read_cfg_var(g_mondo_cfg_file, "bootloader.name", name);
    1326     asprintf(&tmp, "run_boot_loader: device='%s', name='%s'", device, name);
     1327    mr_asprintf(&tmp, "run_boot_loader: device='%s', name='%s'", device, name);
    13271328    log_msg(2, tmp);
    1328     paranoid_free(tmp);
     1329    mr_free(tmp);
    13291330
    13301331    sync();
     
    13491350#ifdef __FreeBSD__
    13501351    else if (!strcmp(name, "BOOT0")) {
    1351         asprintf(&tmp, "boot0cfg -B %s", device);
     1352        mr_asprintf(&tmp, "boot0cfg -B %s", device);
    13521353        res = run_program_and_log_output(tmp, FALSE);
    1353         paranoid_free(tmp);
    1354     } else {
    1355         asprintf(&tmp, "ls /dev | grep -xq %ss[1-4].*", device);
     1354        mr_free(tmp);
     1355    } else {
     1356        mr_asprintf(&tmp, "ls /dev | grep -xq %ss[1-4].*", device);
    13561357        if (!system(tmp)) {
    1357             paranoid_free(tmp);
    1358             asprintf(&tmp, MNT_RESTORING "/sbin/fdisk -B %s", device);
     1358            mr_free(tmp);
     1359            mr_asprintf(&tmp, MNT_RESTORING "/sbin/fdisk -B %s", device);
    13591360            res = run_program_and_log_output(tmp, 3);
    13601361        } else {
     
    13621363                    "I'm not running any boot loader. You have a DD boot drive. It's already loaded up.");
    13631364        }
    1364         paranoid_free(tmp);
     1365        mr_free(tmp);
    13651366    }
    13661367#else
     
    13721373    }
    13731374#endif
    1374     paranoid_free(device);
    1375     paranoid_free(name);
     1375    mr_free(device);
     1376    mr_free(name);
    13761377
    13771378    retval += res;
     
    14011402    tmp = find_home_of_exe("pico");
    14021403    if (tmp) {
    1403         asprintf(&output, "pico");
     1404        mr_asprintf(&output, "pico");
    14041405    } else {
    14051406        tmp = find_home_of_exe("nano");
    14061407        if (tmp) {
    1407             asprintf(&output, "nano");
     1408            mr_asprintf(&output, "nano");
    14081409        } else {
    14091410            tmp = find_home_of_exe("vi");
    14101411            if (tmp) {
    1411                 asprintf(&output, "vi");
     1412                mr_asprintf(&output, "vi");
    14121413            } else {
    1413                 asprintf(&output, "emacs");
    1414             }
    1415         }
    1416     }
    1417     paranoid_free(tmp);
     1414                mr_asprintf(&output, "emacs");
     1415            }
     1416        }
     1417    }
     1418    mr_free(tmp);
    14181419
    14191420    tmp = find_home_of_exe(output);
     
    14211422        log_msg(2, " (find_my_editor) --- warning - %s not found", output);
    14221423    }
    1423     paranoid_free(tmp);
     1424    mr_free(tmp);
    14241425    return (output);
    14251426}
     
    14541455            popup_and_get_string(_("Boot device"),
    14551456                                 _("Please confirm/enter the boot device. If in doubt, try /dev/hda"), bd);
    1456             asprintf(&command, "stabgrub-me %s", bd);
     1457            mr_asprintf(&command, "stabgrub-me %s", bd);
    14571458            res = run_program_and_log_output(command, 1);
    1458             paranoid_free(command);
     1459            mr_free(command);
    14591460
    14601461            if (res) {
     
    14741475            }
    14751476            editor = find_my_editor();
    1476             asprintf(&tmp, "%s " MNT_RESTORING "/etc/fstab", editor);
     1477            mr_asprintf(&tmp, "%s " MNT_RESTORING "/etc/fstab", editor);
    14771478            paranoid_system(tmp);
    1478             paranoid_free(tmp);
    1479 
    1480             asprintf(&tmp, "%s " MNT_RESTORING "/etc/grub.conf", editor);
    1481             paranoid_free(editor);
     1479            mr_free(tmp);
     1480
     1481            mr_asprintf(&tmp, "%s " MNT_RESTORING "/etc/grub.conf", editor);
     1482            mr_free(editor);
    14821483
    14831484            paranoid_system(tmp);
    1484             paranoid_free(tmp);
     1485            mr_free(tmp);
    14851486
    14861487            if (!g_text_mode) {
     
    14921493        if (!run_program_and_log_output("which grub-MR", FALSE)) {
    14931494            log_msg(1, "Yay! grub-MR found...");
    1494             asprintf(&command, "grub-MR %s /tmp/mountlist.txt", bd);
     1495            mr_asprintf(&command, "grub-MR %s /tmp/mountlist.txt", bd);
    14951496            log_msg(1, "command = %s", command);
    14961497        } else {
    1497             asprintf(&command, "chroot " MNT_RESTORING " grub-install %s", bd);
     1498            mr_asprintf(&command, "chroot " MNT_RESTORING " grub-install %s", bd);
    14981499            log_msg(1, "WARNING - grub-MR not found; using grub-install");
    14991500        }
     
    15041505        iamhere(command);
    15051506        res = run_program_and_log_output(command, 1);
    1506         paranoid_free(command);
     1507        mr_free(command);
    15071508
    15081509        if (res) {
     
    15631564                            _
    15641565                            ("Modifying fstab and elilo.conf...                             "));
    1565         asprintf(&command, "stabelilo-me");
     1566        mr_asprintf(&command, "stabelilo-me");
    15661567        res = run_program_and_log_output(command, 3);
    1567         paranoid_free(command);
     1568        mr_free(command);
    15681569
    15691570        if (res) {
     
    15761577                }
    15771578                editor = find_my_editor();
    1578                 asprintf(&tmp, "%s " MNT_RESTORING "/etc/fstab", editor);
     1579                mr_asprintf(&tmp, "%s " MNT_RESTORING "/etc/fstab", editor);
    15791580                paranoid_system(tmp);
    1580                 paranoid_free(tmp);
    1581 
    1582                 asprintf(&tmp, "%s " MNT_RESTORING "/etc/elilo.conf", editor);
    1583                 paranoid_free(editor);
     1581                mr_free(tmp);
     1582
     1583                mr_asprintf(&tmp, "%s " MNT_RESTORING "/etc/elilo.conf", editor);
     1584                mr_free(editor);
    15841585
    15851586                paranoid_system(tmp);
    1586                 paranoid_free(tmp);
     1587                mr_free(tmp);
    15871588
    15881589                if (!g_text_mode) {
     
    16381639                            _
    16391640                            ("Modifying fstab and lilo.conf, and running LILO...                             "));
    1640         asprintf(&command, "stablilo-me");
     1641        mr_asprintf(&command, "stablilo-me");
    16411642        res = run_program_and_log_output(command, 3);
    1642         paranoid_free(command);
     1643        mr_free(command);
    16431644
    16441645        if (res) {
     
    16511652                }
    16521653                editor = find_my_editor();
    1653                 asprintf(&tmp, "%s " MNT_RESTORING "/etc/fstab", editor);
     1654                mr_asprintf(&tmp, "%s " MNT_RESTORING "/etc/fstab", editor);
    16541655                paranoid_system(tmp);
    1655                 paranoid_free(tmp);
    1656 
    1657                 asprintf(&tmp, "%s " MNT_RESTORING "/etc/lilo.conf", editor);
    1658                 paranoid_free(editor);
     1656                mr_free(tmp);
     1657
     1658                mr_asprintf(&tmp, "%s " MNT_RESTORING "/etc/lilo.conf", editor);
     1659                mr_free(editor);
    16591660
    16601661                paranoid_system(tmp);
    1661                 paranoid_free(tmp);
     1662                mr_free(tmp);
    16621663
    16631664                if (!g_text_mode) {
     
    17531754                }
    17541755                editor = find_my_editor();
    1755                 asprintf(&tmp, "%s " MNT_RESTORING "/etc/fstab", editor);
    1756                 paranoid_free(editor);
     1756                mr_asprintf(&tmp, "%s " MNT_RESTORING "/etc/fstab", editor);
     1757                mr_free(editor);
    17571758
    17581759                paranoid_system(tmp);
    1759                 paranoid_free(tmp);
     1760                mr_free(tmp);
    17601761
    17611762                if (!g_text_mode) {
     
    17671768                                 _
    17681769                                 ("Please confirm/enter the boot device. If in doubt, try /dev/hda"), bd);
    1769             asprintf(&command, "stabraw-me %s", bd);
     1770            mr_asprintf(&command, "stabraw-me %s", bd);
    17701771            res = run_program_and_log_output(command, 3);
    1771             paranoid_free(command);
     1772            mr_free(command);
    17721773
    17731774            if (res) {
     
    17831784                            _
    17841785                            ("Restoring MBR...                                               "));
    1785         asprintf(&command, "raw-MR %s /tmp/mountlist.txt", bd);
     1786        mr_asprintf(&command, "raw-MR %s /tmp/mountlist.txt", bd);
    17861787        log_msg(2, "run_raw_mbr() --- command='%s'", command);
    17871788        res = run_program_and_log_output(command, 3);
    1788         paranoid_free(command);
     1789        mr_free(command);
    17891790    }
    17901791    if (res) {
     
    18391840    assert(bkpinfo != NULL);
    18401841
    1841     asprintf(&g_biggielist_txt, "%s/%s",bkpinfo->tmpdir , BIGGIELIST_TXT_STUB);
    1842     asprintf(&g_filelist_full, "%s/%s", bkpinfo->tmpdir, FILELIST_FULL_STUB);
    1843     asprintf(&g_filelist_imagedevs, "%s/tmp/filelist.imagedevs", bkpinfo->tmpdir);
    1844     asprintf(&g_imagedevs_restthese, "%s/tmp/imagedevs.restore-these",
     1842    mr_asprintf(&g_biggielist_txt, "%s/%s",bkpinfo->tmpdir , BIGGIELIST_TXT_STUB);
     1843    mr_asprintf(&g_filelist_full, "%s/%s", bkpinfo->tmpdir, FILELIST_FULL_STUB);
     1844    mr_asprintf(&g_filelist_imagedevs, "%s/tmp/filelist.imagedevs", bkpinfo->tmpdir);
     1845    mr_asprintf(&g_imagedevs_restthese, "%s/tmp/imagedevs.restore-these",
    18451846            bkpinfo->tmpdir);
    1846     paranoid_free(g_mondo_cfg_file);
    1847     paranoid_free(g_mountlist_fname);
     1847    mr_free(g_mondo_cfg_file);
     1848    mr_free(g_mountlist_fname);
    18481849    if (bkpinfo->disaster_recovery) {
    1849         asprintf(&g_mondo_cfg_file, "/%s", MONDO_CFG_FILE_STUB);
    1850         asprintf(&g_mountlist_fname, "/%s", MOUNTLIST_FNAME_STUB);
    1851     } else {
    1852         asprintf(&g_mondo_cfg_file, "%s/%s", bkpinfo->tmpdir, MONDO_CFG_FILE_STUB);
    1853         asprintf(&g_mountlist_fname, "%s/%s", bkpinfo->tmpdir, MOUNTLIST_FNAME_STUB);
     1850        mr_asprintf(&g_mondo_cfg_file, "/%s", MONDO_CFG_FILE_STUB);
     1851        mr_asprintf(&g_mountlist_fname, "/%s", MOUNTLIST_FNAME_STUB);
     1852    } else {
     1853        mr_asprintf(&g_mondo_cfg_file, "%s/%s", bkpinfo->tmpdir, MONDO_CFG_FILE_STUB);
     1854        mr_asprintf(&g_mountlist_fname, "%s/%s", bkpinfo->tmpdir, MOUNTLIST_FNAME_STUB);
    18541855    }
    18551856}
     
    18821883        fatal_error("cannot open output_file");
    18831884    }
    1884     for (getline(&incoming, &n, fin); !feof(fin);
    1885          getline(&incoming, &n, fin)) {
     1885    for (mr_getline(&incoming, &n, fin); !feof(fin);
     1886         mr_getline(&incoming, &n, fin)) {
    18861887        if (strncmp(incoming, "etc/adjtime", 11)
    18871888            && strncmp(incoming, "etc/mtab", 8)
     
    18931894            fprintf(fout, "%s", incoming);  /* don't need \n here, for some reason.. */
    18941895    }
    1895     paranoid_free(incoming);
     1896    mr_free(incoming);
    18961897    paranoid_fclose(fout);
    18971898    paranoid_fclose(fin);
     
    19361937    for (i = 0; i < 20; i++) {
    19371938        g_current_progress = i;
    1938         asprintf(&tmp, _("You have %d seconds left to abort."), 20 - i);
     1939        mr_asprintf(&tmp, _("You have %d seconds left to abort."), 20 - i);
    19391940        update_progress_form(tmp);
    1940         paranoid_free(tmp);
     1941        mr_free(tmp);
    19411942        sleep(1);
    19421943    }
     
    20252026            continue;
    20262027        }
    2027         asprintf(&tmp, _("Unmounting device %s  "),
     2028        mr_asprintf(&tmp, _("Unmounting device %s  "),
    20282029                mountlist->el[lino].device);
    20292030
     
    20322033        if (is_this_device_mounted(mountlist->el[lino].device)) {
    20332034            if (!strcmp(mountlist->el[lino].mountpoint, "swap")) {
    2034                 asprintf(&command, "swapoff %s", mountlist->el[lino].device);
     2035                mr_asprintf(&command, "swapoff %s", mountlist->el[lino].device);
    20352036            } else {
    20362037                if (!strcmp(mountlist->el[lino].mountpoint, "/1")) {
    2037                     asprintf(&command, "umount %s/", MNT_RESTORING);
     2038                    mr_asprintf(&command, "umount %s/", MNT_RESTORING);
    20382039                    log_msg(3,
    20392040                            "Well, I know a certain kitty-kitty who'll be sleeping with Mommy tonight...");
    20402041                } else {
    2041                     asprintf(&command, "umount " MNT_RESTORING "%s",
     2042                    mr_asprintf(&command, "umount " MNT_RESTORING "%s",
    20422043                            mountlist->el[lino].mountpoint);
    20432044                }
     
    20452046            log_msg(10, "The 'umount' command is '%s'", command);
    20462047            res = run_program_and_log_output(command, 3);
    2047             paranoid_free(command);
     2048            mr_free(command);
    20482049        } else {
    2049             asprintf(&tmp1, "%s%s", tmp, _("...not mounted anyway :-) OK"));
    2050             paranoid_free(tmp);
     2050            mr_asprintf(&tmp1, "%s%s", tmp, _("...not mounted anyway :-) OK"));
     2051            mr_free(tmp);
    20512052            tmp = tmp1;
    20522053            res = 0;
     
    20542055        g_current_progress++;
    20552056        if (res) {
    2056             asprintf(&tmp1, "%s%s", tmp, _("...Failed"));
    2057             paranoid_free(tmp);
     2057            mr_asprintf(&tmp1, "%s%s", tmp, _("...Failed"));
     2058            mr_free(tmp);
    20582059            tmp = tmp1;
    20592060            retval++;
     
    20622063            log_msg(2, tmp);
    20632064        }
    2064         paranoid_free(tmp);
     2065        mr_free(tmp);
    20652066    }
    20662067    close_progress_form();
     
    20972098
    20982099    // tar -zxvf-
    2099     asprintf(&command,
     2100    mr_asprintf(&command,
    21002101            "dd if=%s bs=%ld count=%ld 2> /dev/null | tar -zx %s %s %s %s %s",
    21012102            dev,
     
    21062107    log_msg(2, "command = '%s'", command);
    21072108    res = run_program_and_log_output(command, -1);
    2108     paranoid_free(command);
     2109    mr_free(command);
    21092110
    21102111    if (res != 0 && does_file_exist(MONDO_CFG_FILE_STUB)) {
     
    21422143    log_msg(2, "gcffa --- starting");
    21432144    log_to_screen(_("I'm thinking..."));
    2144     asprintf(&mountpt, "%s/mount.bootdisk", bkpinfo->tmpdir);
     2145    mr_asprintf(&mountpt, "%s/mount.bootdisk", bkpinfo->tmpdir);
    21452146    chdir(bkpinfo->tmpdir);
    21462147    // MONDO_CFG_FILE_STUB is missing the '/' at the start, FYI, by intent
     
    21502151    unlink(BIGGIELIST_TXT_STUB);
    21512152    unlink("tmp/i-want-my-lvm");
    2152     asprintf(&command, "mkdir -p %s", mountpt);
     2153    mr_asprintf(&command, "mkdir -p %s", mountpt);
    21532154    run_program_and_log_output(command, FALSE);
    2154     paranoid_free(command);
    2155 
    2156     asprintf(&cfg_file, "%s/%s", bkpinfo->tmpdir, MONDO_CFG_FILE_STUB);
    2157     asprintf(&mountlist_file, "%s/%s", bkpinfo->tmpdir,
     2155    mr_free(command);
     2156
     2157    mr_asprintf(&cfg_file, "%s/%s", bkpinfo->tmpdir, MONDO_CFG_FILE_STUB);
     2158    mr_asprintf(&mountlist_file, "%s/%s", bkpinfo->tmpdir,
    21582159            MOUNTLIST_FNAME_STUB);
    21592160    log_msg(2, "mountpt = %s; cfg_file=%s", mountpt, cfg_file);
    21602161
    21612162    /* Floppy? */
    2162     asprintf(&tmp, "mkdir -p %s", mountpt);
     2163    mr_asprintf(&tmp, "mkdir -p %s", mountpt);
    21632164    run_program_and_log_output(tmp, FALSE);
    2164     paranoid_free(tmp);
    2165 
    2166     asprintf(&tmp, "mkdir -p %s/tmp", bkpinfo->tmpdir);
     2165    mr_free(tmp);
     2166
     2167    mr_asprintf(&tmp, "mkdir -p %s/tmp", bkpinfo->tmpdir);
    21672168    run_program_and_log_output(tmp, FALSE);
    2168     paranoid_free(tmp);
    2169 
    2170     asprintf(&command, "mount /dev/fd0u1722 %s", mountpt);
    2171     asprintf(&tmp,
     2169    mr_free(tmp);
     2170
     2171    mr_asprintf(&command, "mount /dev/fd0u1722 %s", mountpt);
     2172    mr_asprintf(&tmp,
    21722173            "(sleep 15; kill `ps | grep \"%s\" | cut -d' ' -f1` 2> /dev/null) &",
    21732174            command);
    21742175    log_msg(1, "tmp = '%s'", tmp);
    21752176    system(tmp);
    2176     paranoid_free(tmp);
     2177    mr_free(tmp);
    21772178
    21782179    res = run_program_and_log_output(command, FALSE);
    2179     paranoid_free(command);
     2180    mr_free(command);
    21802181
    21812182    if (res) {
    2182         asprintf(&command, "mount /dev/fd0H1440 %s", mountpt);
     2183        mr_asprintf(&command, "mount /dev/fd0H1440 %s", mountpt);
    21832184        res = run_program_and_log_output(command, FALSE);
    2184         paranoid_free(command);
     2185        mr_free(command);
    21852186    }
    21862187    if (res) {
     
    21922193// NB: If busybox does not support 'mount -o loop' then Plan A WILL NOT WORK.
    21932194        log_msg(2, "Processing floppy (plan A?)");
    2194         asprintf(&ramdisk_fname, "%s/mindi.rdz", mountpt);
     2195        mr_asprintf(&ramdisk_fname, "%s/mindi.rdz", mountpt);
    21952196        if (!does_file_exist(ramdisk_fname)) {
    2196             paranoid_free(ramdisk_fname);
    2197             asprintf(&ramdisk_fname, "%s/initrd.img", mountpt);
     2197            mr_free(ramdisk_fname);
     2198            mr_asprintf(&ramdisk_fname, "%s/initrd.img", mountpt);
    21982199        }
    21992200        if (!does_file_exist(ramdisk_fname)) {
     
    22062207                    "Warning - failed to extract config file from ramdisk. I think this boot disk is mangled.");
    22072208        }
    2208         asprintf(&command, "umount %s", mountpt);
     2209        mr_asprintf(&command, "umount %s", mountpt);
    22092210        run_program_and_log_output(command, 5);
    2210         paranoid_free(command);
     2211        mr_free(command);
    22112212
    22122213        unlink(ramdisk_fname);
    2213         paranoid_free(ramdisk_fname);
     2214        mr_free(ramdisk_fname);
    22142215    }
    22152216    if (!does_file_exist(cfg_file)) {
     
    22372238
    22382239            if (bkpinfo->media_device == NULL) {
    2239                 asprintf(&bkpinfo->media_device, "/dev/st0");
     2240                mr_asprintf(&bkpinfo->media_device, "/dev/st0");
    22402241                log_msg(2, "media_device is blank; assuming %s",
    22412242                        bkpinfo->media_device);
    22422243            }
    2243             asprintf(&sav, bkpinfo->media_device);
     2244            mr_asprintf(&sav, bkpinfo->media_device);
    22442245            if (extract_cfg_file_and_mountlist_from_tape_dev
    22452246                (bkpinfo->media_device)) {
    2246                 paranoid_alloc(bkpinfo->media_device, "/dev/st0");
     2247                mr_allocstr(bkpinfo->media_device, "/dev/st0");
    22472248                if (extract_cfg_file_and_mountlist_from_tape_dev
    22482249                    (bkpinfo->media_device)) {
    2249                     paranoid_alloc(bkpinfo->media_device, "/dev/osst0");
     2250                    mr_allocstr(bkpinfo->media_device, "/dev/osst0");
    22502251                    if (extract_cfg_file_and_mountlist_from_tape_dev
    22512252                        (bkpinfo->media_device)) {
    2252                         paranoid_alloc(bkpinfo->media_device, "/dev/ht0");
     2253                        mr_allocstr(bkpinfo->media_device, "/dev/ht0");
    22532254                        if (extract_cfg_file_and_mountlist_from_tape_dev
    22542255                            (bkpinfo->media_device)) {
    22552256                            log_msg(3,
    22562257                                    "I tried lots of devices but none worked.");
    2257                             paranoid_alloc(bkpinfo->media_device, sav);
     2258                            mr_allocstr(bkpinfo->media_device, sav);
    22582259                        }
    22592260                    }
    22602261                }
    22612262            }
    2262             paranoid_free(sav);
     2263            mr_free(sav);
    22632264
    22642265            if (!does_file_exist("tmp/mondo-restore.cfg")) {
     
    22712272                    "gcffa --- looking at mounted CD for mindi-boot.2880.img");
    22722273            /* BERLIOS : Useless ?
    2273             asprintf(&command,
     2274            mr_asprintf(&command,
    22742275                    "mount " MNT_CDROM
    22752276                    "/images/mindi-boot.2880.img -o loop %s", mountpt);
    22762277                    */
    2277             asprintf(&mounted_cfgf_path, "%s/%s", mountpt, cfg_file);
     2278            mr_asprintf(&mounted_cfgf_path, "%s/%s", mountpt, cfg_file);
    22782279            if (!does_file_exist(mounted_cfgf_path)) {
    22792280                log_msg(2,
    22802281                        "gcffa --- Plan C, a.k.a. untarring some file from all.tar.gz");
    2281                 asprintf(&command, "tar -zxvf " MNT_CDROM "/images/all.tar.gz %s %s %s %s %s", MOUNTLIST_FNAME_STUB, MONDO_CFG_FILE_STUB, BIGGIELIST_TXT_STUB, FILELIST_FULL_STUB, "tmp/i-want-my-lvm");    // add -b TAPE_BLOCK_SIZE if you _really_ think it's necessary
     2282                mr_asprintf(&command, "tar -zxvf " MNT_CDROM "/images/all.tar.gz %s %s %s %s %s", MOUNTLIST_FNAME_STUB, MONDO_CFG_FILE_STUB, BIGGIELIST_TXT_STUB, FILELIST_FULL_STUB, "tmp/i-want-my-lvm"); // add -b TAPE_BLOCK_SIZE if you _really_ think it's necessary
    22822283                run_program_and_log_output(command, TRUE);
    2283                 paranoid_free(command);
     2284                mr_free(command);
    22842285
    22852286                if (!does_file_exist(MONDO_CFG_FILE_STUB)) {
     
    22882289                }
    22892290            }
    2290             paranoid_free(mounted_cfgf_path);
    2291         }
    2292     }
    2293     paranoid_free(mountpt);
     2291            mr_free(mounted_cfgf_path);
     2292        }
     2293    }
     2294    mr_free(mountpt);
    22942295
    22952296    if (does_file_exist(MONDO_CFG_FILE_STUB)) {
    22962297        log_msg(1, "gcffa --- great! We've got the config file");
    22972298        tmp1 = call_program_and_get_last_line_of_output("pwd");
    2298         asprintf(&tmp, "%s/%s", tmp1,MONDO_CFG_FILE_STUB);
    2299         asprintf(&command, "cp -f %s %s", tmp, cfg_file);
     2299        mr_asprintf(&tmp, "%s/%s", tmp1,MONDO_CFG_FILE_STUB);
     2300        mr_asprintf(&command, "cp -f %s %s", tmp, cfg_file);
    23002301        iamhere(command);
    23012302
     
    23082309            log_msg(1, "... and I moved it successfully to %s", cfg_file);
    23092310        }
    2310         paranoid_free(command);
    2311 
    2312         asprintf(&command, "cp -f %s/%s %s",tmp1,
     2311        mr_free(command);
     2312
     2313        mr_asprintf(&command, "cp -f %s/%s %s",tmp1,
    23132314                MOUNTLIST_FNAME_STUB, mountlist_file);
    2314         paranoid_free(tmp1);
     2315        mr_free(tmp1);
    23152316
    23162317        iamhere(command);
     
    23202321        } else {
    23212322            log_msg(1, "Got mountlist too");
    2322             paranoid_free(command);
    2323             asprintf(&command, "cp -f %s %s", mountlist_file,
     2323            mr_free(command);
     2324            mr_asprintf(&command, "cp -f %s %s", mountlist_file,
    23242325                    g_mountlist_fname);
    23252326            if (run_program_and_log_output(command, 1)) {
     
    23272328            } else {
    23282329                log_msg(1, "Copied mountlist to /tmp as well OK");
    2329                 paranoid_free(command);
    2330                 asprintf(&command, "cp -f tmp/i-want-my-lvm /tmp/");
     2330                mr_free(command);
     2331                mr_asprintf(&command, "cp -f tmp/i-want-my-lvm /tmp/");
    23312332                run_program_and_log_output(command, 1);
    23322333            }
    23332334        }
    2334         paranoid_free(command);
    2335         paranoid_free(tmp);
     2335        mr_free(command);
     2336        mr_free(tmp);
    23362337    }
    23372338    run_program_and_log_output("umount " MNT_CDROM, FALSE);
     
    23512352/* start SAH */
    23522353    else {
    2353         asprintf(&command, "cp -f %s %s/%s", MOUNTLIST_FNAME_STUB,
     2354        mr_asprintf(&command, "cp -f %s %s/%s", MOUNTLIST_FNAME_STUB,
    23542355                bkpinfo->tmpdir, MOUNTLIST_FNAME_STUB);
    23552356        run_program_and_log_output(command, FALSE);
    2356         paranoid_free(command);
     2357        mr_free(command);
    23572358    }
    23582359/* end SAH */
    23592360
    2360     asprintf(&command, "cp -f %s /%s", cfg_file, MONDO_CFG_FILE_STUB);
    2361     paranoid_free(cfg_file);
     2361    mr_asprintf(&command, "cp -f %s /%s", cfg_file, MONDO_CFG_FILE_STUB);
     2362    mr_free(cfg_file);
    23622363
    23632364    run_program_and_log_output(command, FALSE);
    2364     paranoid_free(command);
    2365 
    2366     asprintf(&command, "cp -f %s /%s", mountlist_file, MOUNTLIST_FNAME_STUB);
    2367     paranoid_free(mountlist_file);
     2365    mr_free(command);
     2366
     2367    mr_asprintf(&command, "cp -f %s /%s", mountlist_file, MOUNTLIST_FNAME_STUB);
     2368    mr_free(mountlist_file);
    23682369
    23692370    run_program_and_log_output(command, FALSE);
    2370     paranoid_free(command);
    2371 
    2372     asprintf(&command, "cp -f etc/raidtab /etc/");
     2371    mr_free(command);
     2372
     2373    mr_asprintf(&command, "cp -f etc/raidtab /etc/");
    23732374    run_program_and_log_output(command, FALSE);
    2374     paranoid_free(command);
    2375 
    2376     asprintf(&command, "cp -f tmp/i-want-my-lvm /tmp/");
     2375    mr_free(command);
     2376
     2377    mr_asprintf(&command, "cp -f tmp/i-want-my-lvm /tmp/");
    23772378    run_program_and_log_output(command, FALSE);
    2378     paranoid_free(command);
     2379    mr_free(command);
    23792380
    23802381    g_backup_media_type = bkpinfo->backup_media_type;
     
    24122413                log_msg(1, "Sync'ing %s (i=%d)",
    24132414                        raidlist->el[i].raid_device, i);
    2414                 asprintf(&screen_message, "Sync'ing %s",
     2415                mr_asprintf(&screen_message, "Sync'ing %s",
    24152416                        raidlist->el[i].raid_device);
    24162417                open_evalcall_form(screen_message);
    2417                 paranoid_free(screen_message);
     2418                mr_free(screen_message);
    24182419
    24192420                if (raidlist->el[i].progress == -1) { // delayed while another partition inits
     
    24342435        }
    24352436    }
    2436     paranoid_free(raidlist);
    2437 }
     2437    mr_free(raidlist);
     2438}
Note: See TracChangeset for help on using the changeset viewer.