Changeset 1080 in MondoRescue for branches/stable/mondo/src/mondorestore


Ignore:
Timestamp:
Jan 28, 2007, 7:04:41 PM (17 years ago)
Author:
Bruno Cornec
Message:
  • Fix mindi install messages (reported by Andree Leidenfrost)
  • remove paranoid_free/free for mr_free
  • mr_asprintf used everywhere
  • mr_malloc used everywhere
Location:
branches/stable/mondo/src/mondorestore
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/stable/mondo/src/mondorestore/mondo-prep.c

    r1067 r1080  
    11/***************************************************************************
    2 mondo-prep.c  -  description
    3 -----------------
    4 
    5 begin: Fri Apr 19 16:40:35 EDT 2002
    6 copyright : (C) 2002 Mondo  Hugo Rabson
    7 email     : Hugo Rabson <hugorabson@msn.com>
    8 edited by : by Stan Benoit 4/2002
    9 email     : troff@nakedsoul.org
    10 cvsid     : $Id$
    11 ***************************************************************************/
    12 
    13 /***************************************************************************
    14  *                                                                         *
    15  *   This program is free software; you can redistribute it and/or modify  *
    16  *   it under the terms of the GNU General Public License as published by  *
    17  *   the Free Software Foundation; either version 2 of the License, or     *
    18  *   (at your option) any later version.                                   *
    19  *                                                                         *
    20  ***************************************************************************/
    21 
    22 /* mondo-prep.c             Hugo Rabson
    23 
    24 
    25 
    26 07/20
    27 - when starting RAID, don't do it twice :)
    28 - moved Joshua's new get_phys_size_of_drive() code
    29   from resize_drive... into get_phys_size_of_drive()
    30 
    31 06/29
    32 - make sure software RAID devices are formatted IF user says they're to be
    33 - drivelist is struct now, not char[][]
    34 
    35 06/26
    36 - drop make_relevant_partition_bootable(); do it yourself in C (mostly)
    37 - offer to reboot if partition table is locked up by the kernel
    38 
    39 06/22
    40 - be sure not to resize non-NTFS images when restoring
    41 - set non-NTFS images' partition types properly
    42 
    43 06/19
    44 - shut down all LVMs and VGs before prepping
    45 
    46 05/07
    47 - usage of parted2fdisk instead of fdisk alone (ia32/ia64 compatibility)
    48   BCO
    49 
    50 03/31
    51 - rewrote partitioning and formatting code to call fdisk once per disk
    52 
    53 10/21/2003
    54 - suspend/resume Newt gui before/after calling do_my_funky_lvm_stuff()
    55 
    56 10/20
    57 - rewrote format_everything() - what a mess it was.
    58   It now does things in three phases:-
    59   - formats software RAID devices (/dev/md0, etc.)
    60   - formats and configures LVM devices
    61   - formats regular partitions (/dev/hda1, /dev/sdb2, etc.)
    62     and any LVMs recently prepped
    63 
    64 10/07
    65 - use strstr(format, "raid") instead of strcmp(format,"raid") to determin
    66   if partition is a RAID component
    67 
    68 09/23
    69 - better comments
    70 
    71 09/18
    72 - better logging of RAID activity
    73 
    74 05/05
    75 - added Joshua Oreman's FreeBSD patches
    76 
    77 04/30
    78 - added textonly mode
    79 
    80 04/24
    81 - added lots of assert()'s and log_OS_error()'s
    82 
    83 04/21
    84 - format_everything() --- don't let bar go too far
    85 - mkfs -c to check for bad blocks when formatting
    86 
    87 04/04
    88 - misc clean-up (Tom Mortell)
    89 
    90 01/15/2003
    91 - added code for LVM and SW Raid (Brian Borgeson)
    92 
    93 12/10/2002
    94 - line 1238: friendlier output
    95 
    96 11/20
    97 - when wiping a given device in preparation for partitioning + formatting
    98   it, don't wipe the MBR; just the partition table. That allows for
    99   stupid-ass Compaq users who like to play with their MBR's.
    100 - disable mountlist.txt-->mountlist.txt.pre-resize copying (superfluous)
    101 
    102 09/09
    103 - run_program_and_log_output() now takes boolean operator to specify
    104   whether it will log its activities in the event of _success_
    105 
    106 07/01 - 07/31
    107 - added hooks to libmondo
    108 - RAID enhancements (Philippe de Muyter)
    109 
    110 01/01 - 03/31
    111 - partition_device() will refuse to partition /dev/mdX now (cos it's a
    112   virtual drive); however, it will return 0 (i.e. not an error)
    113 - make_list_of_drives() will exclude /dev/md* from list
    114 - mkreiserfs -ff instead of -q (Andy Glass)
    115 - don't resize drive if drive not found (or if its size cannot be det'd)
    116 - when generating list of drives from mountlist, skip the 'p' at the end
    117   of drive name if /dev/ida/ or /dev/cciss/; just do it (Michael Eisenberg)
    118 - don't specify journal size when formatting ext3
    119   (used to have -Jsize=10 in the call to mkfs)
    120 - handles files >2GB in size
    121 - format interactively, if Interactive Mode
    122 - removed reference to g_tape_size
    123 - when executing /tmp/i-want-my-lvm, only record the error# if the command
    124   was _not_ an 'insmod' command
    125 - pass partition size to fdisk in Kilobytes now, not Megabytes
    126 - log fdisk's output to /tmp/mondo-restore.log if it fails
    127 - don't try to format partitions of type 'image'
    128 - don't type to set types of 'image' partitions
    129 - if format code is 1 or 2 chars then assume it is a hex string
    130 - took out all '/ /' comments
    131 - don't extrapolate/add partition from RAID dev to mountlist if it's already
    132   present in mountlist
    133 - less repetitive logging in the event of vacuum-packing of last part'n
    134 - no extrapolation at all: RAID partitions should be listed in mountlist
    135   already, thanks to either Mindi v0.5x or the mountlist editor itself
    136 - no longer say, 'and logging to...' when setting a partition's type
    137 - don't run mkfs on RAID partitions (/dev/hd*, /dev/sd*); just set type
    138 - the setting of a partition's type now takes place in a separate subroutine
    139   from the subroutine that actually creates the partition
    140 - no need to set type if 83: 83 is the default (under fdisk)
    141 - turned on '-Wall'; cleaned up some cruft
    142 - if vacuum-packing partition (i.e. size=0MB --> max) then say, "(maximum)"
    143   not, "(0 MB)"
    144 
    145 11/22/2001
    146 - preliminary code review
    147 - created on Nov 22nd, 2001
     2 * $Id$
    1483*/
    1494
     
    16217#include <linux/hdreg.h>
    16318#include <math.h>
     19#include "mr_mem.h"
    16420
    16521
     
    22076    malloc_string(command);
    22177    malloc_string(tmp);
    222     buf = malloc(blocksize);
     78    buf = mr_malloc(blocksize);
    22379    if (does_file_exist("/tmp/i-want-my-lvm"))  // FIXME - cheating :)
    22480    {
    225         drivelist = malloc(sizeof(struct list_of_disks));
     81        drivelist = mr_malloc(sizeof(struct list_of_disks));
    22682        make_list_of_drives_in_mountlist(mountlist, drivelist);
    22783        for (lino = 0; lino < drivelist->entries; lino++) {
     
    274130    }
    275131// Still here? Cool!
    276     paranoid_free(command);
    277     paranoid_free(tmp);
     132    mr_free(command);
     133    mr_free(tmp);
    278134    log_msg(1, "Cool. I didn't have to wipe anything.");
    279135}
     
    384240    malloc_string(vgremove_sz);
    385241//  malloc_string(do_this_last); // postpone lvcreate call if necessary
    386     command = malloc(512);
     242    command = mr_malloc(512);
    387243
    388244//  do_this_last[0] = '\0';
     
    549405    log_msg(1, "Closed i-want-my-lvm. Finished doing funky stuff.");
    550406  end_of_i_want_my_lvm:
    551     paranoid_free(tmp);
    552     paranoid_free(incoming);
    553     paranoid_free(command);
    554     paranoid_free(lvscan_sz);
    555     paranoid_free(lvremove_sz);
    556     paranoid_free(vgscan_sz);
    557     paranoid_free(pvscan_sz);
    558     paranoid_free(vgcreate_sz);
    559     paranoid_free(vgchange_sz);
    560     paranoid_free(vgremove_sz);
    561 //  paranoid_free(do_this_last);
     407    mr_free(tmp);
     408    mr_free(incoming);
     409    mr_free(command);
     410    mr_free(lvscan_sz);
     411    mr_free(lvremove_sz);
     412    mr_free(vgscan_sz);
     413    mr_free(pvscan_sz);
     414    mr_free(vgcreate_sz);
     415    mr_free(vgchange_sz);
     416    mr_free(vgremove_sz);
     417//  mr_free(do_this_last);
    562418    system("sync");
    563419    system("sync");
     
    686542        }
    687543    }
    688     paranoid_free(incoming);
    689     paranoid_free(tmp);
     544    mr_free(incoming);
     545    mr_free(tmp);
    690546
    691547    return (0);
     
    734590  for (j = 1; j < raidlist->el[i].data_disks.entries; j++) {
    735591    asprintf(&strtmp, "%s", devices);
    736     paranoid_free(devices);
     592    mr_free(devices);
    737593    asprintf(&devices, "%s %s", strtmp,
    738594         raidlist->el[i].data_disks.el[j].device);
    739     paranoid_free(strtmp);
     595    mr_free(strtmp);
    740596  }
    741597  for (j = 0; j < raidlist->el[i].spare_disks.entries; j++) {
    742598    asprintf(&strtmp, "%s", devices);
    743     paranoid_free(devices);
     599    mr_free(devices);
    744600    asprintf(&devices, "%s %s", strtmp,
    745601         raidlist->el[i].spare_disks.el[j].device);
    746     paranoid_free(strtmp);
     602    mr_free(strtmp);
    747603  }
    748604  // translate RAID level
     
    765621  if (raidlist->el[i].parity != -1) {
    766622    asprintf(&strtmp, "%s", program);
    767     paranoid_free(program);
     623    mr_free(program);
    768624    switch(raidlist->el[i].parity) {
    769625    case 0:
     
    783639      break;
    784640    }
    785     paranoid_free(strtmp);
     641    mr_free(strtmp);
    786642  }
    787643  if (raidlist->el[i].chunk_size != -1) {
    788644    asprintf(&strtmp, "%s", program);
    789     paranoid_free(program);
     645    mr_free(program);
    790646    asprintf(&program, "%s --chunk=%d", strtmp, raidlist->el[i].chunk_size);
    791     paranoid_free(strtmp);
     647    mr_free(strtmp);
    792648  }
    793649  if (raidlist->el[i].spare_disks.entries > 0) {
    794650    asprintf(&strtmp, "%s", program);
    795     paranoid_free(program);
     651    mr_free(program);
    796652    asprintf(&program, "%s --spare-devices=%d", strtmp,
    797653         raidlist->el[i].spare_disks.entries);
    798     paranoid_free(strtmp);
     654    mr_free(strtmp);
    799655  }
    800656  asprintf(&strtmp, "%s", program);
    801   paranoid_free(program);
     657  mr_free(program);
    802658  asprintf(&program, "%s %s", strtmp, devices);
    803   paranoid_free(strtmp);
     659  mr_free(strtmp);
    804660  res = run_program_and_log_output(program, 1);
    805661  // free memory
    806   paranoid_free(devices);
    807   paranoid_free(level);
    808   paranoid_free(program);
     662  mr_free(devices);
     663  mr_free(level);
     664  mr_free(program);
    809665  // return to calling instance
    810666  return res;
     
    845701        sprintf(tmp, "Not formatting %s (it is a RAID disk)", device);
    846702        log_it(tmp);
    847         paranoid_free(program);
    848         paranoid_free(tmp);
     703        mr_free(program);
     704        mr_free(tmp);
    849705        return (0);
    850706    }
     
    852708    if (strcmp(format, "swap") == 0) {
    853709        log_it("Not formatting %s - it's swap", device);
    854         paranoid_free(program);
    855         paranoid_free(tmp);
     710        mr_free(program);
     711        mr_free(tmp);
    856712        return (0);
    857713    }
     
    862718                device, format);
    863719        log_it(tmp);
    864         paranoid_free(program);
    865         paranoid_free(tmp);
     720        mr_free(program);
     721        mr_free(tmp);
    866722        return (0);
    867723    }
     
    869725        sprintf(tmp, "%s is mounted - cannot format it       ", device);
    870726        log_to_screen(tmp);
    871         paranoid_free(program);
    872         paranoid_free(tmp);
     727        mr_free(program);
     728        mr_free(tmp);
    873729        return (1);
    874730    }
     
    986842    if (!strcmp(format, "lvm")) {
    987843        log_msg(1, "Don't format %s - it's part of an lvm volume", device);
    988         paranoid_free(program);
    989         paranoid_free(tmp);
     844        mr_free(program);
     845        mr_free(tmp);
    990846        return (0);
    991847    }
     
    1026882
    1027883    log_to_screen(tmp);
    1028     paranoid_free(program);
    1029     paranoid_free(tmp);
     884    mr_free(program);
     885    mr_free(tmp);
    1030886    system("sync");
    1031887    sleep(1);
     
    12531109    system("clear");
    12541110    newtResume();
    1255     paranoid_free(tmp);
     1111    mr_free(tmp);
    12561112    return (retval);
    12571113}
     
    13081164        previous_devno = current_devno;
    13091165    }
    1310     paranoid_free(tmp);
     1166    mr_free(tmp);
    13111167    return (previous_devno);
    13121168}
     
    16491505    if (!pout_to_fdisk) {
    16501506        log_to_screen("Cannot call parted2fdisk to configure %s", drivename);
    1651         paranoid_free(device_str);
    1652         paranoid_free(format);
    1653         paranoid_free(tmp);
     1507        mr_free(device_str);
     1508        mr_free(format);
     1509        mr_free(tmp);
    16541510        return (1);
    16551511    }
     
    16861542                            ("Warning! Unable to make the drive bootable.");
    16871543                    }
    1688                     paranoid_free(device_str);
    1689                     paranoid_free(format);
    1690                     paranoid_free(tmp);
     1544                    mr_free(device_str);
     1545                    mr_free(format);
     1546                    mr_free(tmp);
    16911547                    return r;
    16921548                }
     
    17771633            log_to_screen
    17781634                ("You must leave at least one partition spare as the Extended partition.");
    1779             paranoid_free(device_str);
    1780             paranoid_free(format);
    1781             paranoid_free(tmp);
     1635            mr_free(device_str);
     1636            mr_free(format);
     1637            mr_free(tmp);
    17821638            return (1);
    17831639        }
     
    18251681        }
    18261682    }
    1827     paranoid_free(device_str);
    1828     paranoid_free(format);
    1829     paranoid_free(tmp);
     1683    mr_free(device_str);
     1684    mr_free(format);
     1685    mr_free(tmp);
    18301686    return (retval);
    18311687}
     
    18771733        sprintf(tmp, "Not partitioning %s - it is a virtual drive", drive);
    18781734        log_it(tmp);
    1879         paranoid_free(program);
    1880         paranoid_free(partition_name);
    1881         paranoid_free(tmp);
    1882         paranoid_free(logfile);
    1883         paranoid_free(output);
     1735        mr_free(program);
     1736        mr_free(partition_name);
     1737        mr_free(tmp);
     1738        mr_free(logfile);
     1739        mr_free(output);
    18841740        return (0);
    18851741    }
     
    18981754                partition_name);
    18991755        log_to_screen(tmp);
    1900         paranoid_free(program);
    1901         paranoid_free(partition_name);
    1902         paranoid_free(tmp);
    1903         paranoid_free(logfile);
    1904         paranoid_free(output);
     1756        mr_free(program);
     1757        mr_free(partition_name);
     1758        mr_free(tmp);
     1759        mr_free(logfile);
     1760        mr_free(output);
    19051761        return (1);
    19061762/*
     
    19331789                    log_to_screen
    19341790                        ("You need to leave at least one partition free, for 'extended/logical'");
    1935                     paranoid_free(program);
    1936                     paranoid_free(partition_name);
    1937                     paranoid_free(tmp);
    1938                     paranoid_free(logfile);
    1939                     paranoid_free(output);
     1791                    mr_free(program);
     1792                    mr_free(partition_name);
     1793                    mr_free(tmp);
     1794                    mr_free(logfile);
     1795                    mr_free(output);
    19401796                    return (1);
    19411797                } else {
     
    20561912    g_current_progress++;
    20571913    log_it("partition_device() --- leaving");
    2058     paranoid_free(program);
    2059     paranoid_free(partition_name);
    2060     paranoid_free(tmp);
    2061     paranoid_free(logfile);
    2062     paranoid_free(output);
     1914    mr_free(program);
     1915    mr_free(partition_name);
     1916    mr_free(tmp);
     1917    mr_free(logfile);
     1918    mr_free(output);
    20631919    return (retval);
    20641920}
     
    20871943    /** end ************************************************************/
    20881944
    2089     drivelist = malloc(sizeof(struct list_of_disks));
     1945    drivelist = mr_malloc(sizeof(struct list_of_disks));
    20901946    assert(mountlist != NULL);
    20911947
     
    21462002    system("clear");
    21472003    newtResume();
    2148     paranoid_free(drivelist);
     2004    mr_free(drivelist);
    21492005    return (retval);
    21502006}
     
    22902146    }
    22912147
    2292     paranoid_free(partition);
    2293     paranoid_free(command);
    2294     paranoid_free(output);
    2295     paranoid_free(tmp);
    2296     paranoid_free(partcode);
    2297     paranoid_free(logfile);
     2148    mr_free(partition);
     2149    mr_free(command);
     2150    mr_free(output);
     2151    mr_free(tmp);
     2152    mr_free(partcode);
     2153    mr_free(logfile);
    22982154
    22992155    return (res);
     
    24482304             "r");
    24492305        if (!fin) {
    2450             paranoid_free(dev);
    2451             paranoid_free(incoming);
     2306            mr_free(dev);
     2307            mr_free(incoming);
    24522308            return (1);
    24532309        }
     
    24602316        if (!fin) {
    24612317            log_OS_error("/proc/mdstat");
    2462             paranoid_free(dev);
    2463             paranoid_free(incoming);
     2318            mr_free(dev);
     2319            mr_free(incoming);
    24642320            return (1);
    24652321        }
     
    24822338        log_msg(1, "Warning - unable to stop some RAID devices");
    24832339    }
    2484     paranoid_free(dev);
    2485     paranoid_free(incoming);
     2340    mr_free(dev);
     2341    mr_free(incoming);
    24862342    system("sync");
    24872343    system("sync");
     
    25462402        res = 0;
    25472403    }
    2548     paranoid_free(tmp);
     2404    mr_free(tmp);
    25492405    return (res);
    25502406}
     
    25882444    }
    25892445    original_size_of_drive = original_size_of_drive / 1024;
    2590     paranoid_free(tmp);
     2446    mr_free(tmp);
    25912447    return (original_size_of_drive);
    25922448}
     
    26382494        if (strncmp(drive_name, RAID_DEVICE_STUB, strlen(RAID_DEVICE_STUB))
    26392495            == 0) {
    2640             paranoid_free(tmp);
     2496            mr_free(tmp);
    26412497            return;
    26422498        }
     
    26522508    if (current_size_of_drive <= 0) {
    26532509        log_it("Not resizing to match %s - can't find drive", drive_name);
    2654         paranoid_free(tmp);
     2510        mr_free(tmp);
    26552511        return;
    26562512    }
     
    26592515    log_to_screen(tmp);
    26602516
    2661     drivemntlist = malloc(sizeof(struct mountlist_reference));
     2517    drivemntlist = mr_malloc(sizeof(struct mountlist_reference));
    26622518    drivemntlist->el =
    2663         malloc(sizeof(struct mountlist_line *) * MAX_TAPECATALOG_ENTRIES);
    2664 
    2665     if (!drivemntlist) {
    2666         fatal_error("Cannot malloc temporary mountlist\n");
    2667     }
     2519        mr_malloc(sizeof(struct mountlist_line *) * MAX_TAPECATALOG_ENTRIES);
     2520
    26682521    create_mountlist_for_drive(mountlist, drive_name, drivemntlist);
    26692522
     
    26772530                drive_name);
    26782531        log_to_screen(tmp);
    2679         paranoid_free(tmp);
     2532        mr_free(tmp);
    26802533        return;
    26812534    }
     
    27122565    final_size = get_phys_size_of_drive(drive_name);
    27132566    sprintf(tmp, "final_size = %ld MB", final_size);
    2714     paranoid_free(tmp);
     2567    mr_free(tmp);
    27152568    log_to_screen(tmp);
    27162569}
     
    27342587    /** end *************************************************************/
    27352588
    2736     drivelist = malloc(sizeof(struct list_of_disks));
    2737     assert(mountlist != NULL);
     2589    drivelist = mr_malloc(sizeof(struct list_of_disks));
    27382590
    27392591    if (g_mountlist_fname[0] == '\0') {
     
    27532605    }
    27542606    log_to_screen("Mountlist adjusted to suit current hard drive(s)");
    2755     paranoid_free(drivelist);
     2607    mr_free(drivelist);
    27562608}
    27572609
     
    27982650    }
    27992651    if (tmp_drive_name)
    2800         free(tmp_drive_name);
     2652        mr_free(tmp_drive_name);
    28012653}
    28022654
  • branches/stable/mondo/src/mondorestore/mondo-restore.c

    r1077 r1080  
    11/***************************************************************************
    2 $Id$
    3 restores mondoarchive data
     2* restores mondoarchive data
     3* $Id$
    44***************************************************************************/
    55
     
    2020#include "mondo-rstr-compare-EXT.h"
    2121#include "mondo-rstr-tools-EXT.h"
     22#include "mr_mem.h"
    2223
    2324extern void twenty_seconds_til_yikes(void);
     
    313314        retval += compare_mode(bkpinfo, mountlist, raidlist);
    314315    }
    315     paranoid_free(tmp);
     316    mr_free(tmp);
    316317    return (retval);
    317318}
     
    631632    }
    632633  end_of_func:
    633     paranoid_free(tmp);
    634     paranoid_free(fstab_fname);
    635     paranoid_free(old_restpath);
     634    mr_free(tmp);
     635    mr_free(fstab_fname);
     636    mr_free(old_restpath);
    636637    iamhere("Leaving interactive_mode()");
    637638    return (retval);
     
    912913    assert(bkpinfo != NULL);
    913914    malloc_string(old_restpath);
    914     mountlist = malloc(sizeof(struct mountlist_itself));
    915     raidlist = malloc(sizeof(struct raidlist_itself));
    916     if (!mountlist || !raidlist) {
    917         fatal_error("Cannot malloc() mountlist and/or raidlist");
    918     }
     915    mountlist = mr_malloc(sizeof(struct mountlist_itself));
     916    raidlist = mr_malloc(sizeof(struct raidlist_itself));
    919917
    920918    strcpy(bkpinfo->restore_path, "/");
     
    966964        eject_device(bkpinfo->media_device);
    967965    }
    968     paranoid_free(old_restpath);
    969     free(mountlist);
    970     free(raidlist);
     966    mr_free(old_restpath);
     967    mr_free(mountlist);
     968    mr_free(raidlist);
    971969    return (retval);
    972970}
     
    10381036
    10391037    pathname_of_last_file_restored[0] = '\0';
    1040     if (!(bigblk = malloc(TAPE_BLOCK_SIZE))) {
    1041         fatal_error("Cannot malloc bigblk");
    1042     }
     1038    bigblk = mr_malloc(TAPE_BLOCK_SIZE);
    10431039
    10441040    if (!(fin = fopen(slice_fname(bigfileno, 0, ARCHIVES_PATH, ""), "r"))) {
     
    12951291        utime(outfile_fname, ubuf);
    12961292    }
    1297     paranoid_free(bigblk);
    1298     paranoid_free(checksum);
    1299     paranoid_free(outfile_fname);
    1300     paranoid_free(tmp);
    1301     paranoid_free(bzip2_command);
    1302     paranoid_free(ntfsprog_command);
    1303     paranoid_free(suffix);
    1304     paranoid_free(sz_devfile);
     1293    mr_free(bigblk);
     1294    mr_free(checksum);
     1295    mr_free(outfile_fname);
     1296    mr_free(tmp);
     1297    mr_free(bzip2_command);
     1298    mr_free(ntfsprog_command);
     1299    mr_free(suffix);
     1300    mr_free(sz_devfile);
    13051301
    13061302    return (retval);
     
    15531549    }
    15541550
    1555     paranoid_free(tmp);
    1556     paranoid_free(outfile_fname);
    1557     paranoid_free(command);
    1558     paranoid_free(ntfsprog_command);
    1559     paranoid_free(sz_devfile);
    1560     paranoid_free(ntfsprog_fifo);
     1551    mr_free(tmp);
     1552    mr_free(outfile_fname);
     1553    mr_free(command);
     1554    mr_free(ntfsprog_command);
     1555    mr_free(sz_devfile);
     1556    mr_free(ntfsprog_fifo);
    15611557    g_loglevel = old_loglevel;
    15621558    return (retval);
     
    17861782
    17871783  leave_sub:
    1788     paranoid_free(command);
    1789     paranoid_free(tmp);
    1790     paranoid_free(filelist_name);
    1791     paranoid_free(filelist_subset_fname);
    1792     paranoid_free(executable);
    1793     paranoid_free(temp_log);
    1794     paranoid_free(xattr_fname);
    1795     paranoid_free(acl_fname);
     1784    mr_free(command);
     1785    mr_free(tmp);
     1786    mr_free(filelist_name);
     1787    mr_free(filelist_subset_fname);
     1788    mr_free(executable);
     1789    mr_free(temp_log);
     1790    mr_free(xattr_fname);
     1791    mr_free(acl_fname);
    17961792    log_msg(5, "Leaving");
    17971793    return (retval);
     
    19881984    unlink(afio_fname);
    19891985
    1990     paranoid_free(filelist_subset_fname);
    1991     paranoid_free(filelist_fname);
    1992     paranoid_free(afio_fname);
    1993     paranoid_free(command);
    1994     paranoid_free(tmp);
     1986    mr_free(filelist_subset_fname);
     1987    mr_free(filelist_fname);
     1988    mr_free(afio_fname);
     1989    mr_free(command);
     1990    mr_free(tmp);
    19951991    return (retval);
    19961992}
     
    21372133        mvaddstr_and_log_it(g_currentY++, 74, "Done.");
    21382134    }
    2139     paranoid_free(xattr_fname);
    2140     paranoid_free(acl_fname);
    2141     paranoid_free(tmp);
    2142     paranoid_free(biggies_whose_EXATs_we_should_set);
    2143     paranoid_free(pathname_of_last_biggie_restored);
     2135    mr_free(xattr_fname);
     2136    mr_free(acl_fname);
     2137    mr_free(tmp);
     2138    mr_free(biggies_whose_EXATs_we_should_set);
     2139    mr_free(pathname_of_last_biggie_restored);
    21442140    return (retval);
    21452141}
     
    22862282        mvaddstr_and_log_it(g_currentY++, 74, "Done.");
    22872283    }
    2288     paranoid_free(tmp);
    2289     paranoid_free(tarball_fname);
    2290     paranoid_free(progress_str);
    2291     paranoid_free(comment);
     2284    mr_free(tmp);
     2285    mr_free(tarball_fname);
     2286    mr_free(progress_str);
     2287    mr_free(comment);
    22922288
    22932289    return (retval);
     
    24572453        mvaddstr_and_log_it(g_currentY++, 74, "Done.");
    24582454    }
    2459     paranoid_free(biggies_whose_EXATs_we_should_set);
    2460     paranoid_free(pathname_of_last_biggie_restored);
    2461     paranoid_free(biggie_fname);
    2462     paranoid_free(biggie_cksum);
    2463     paranoid_free(xattr_fname);
    2464     paranoid_free(acl_fname);
    2465     paranoid_free(tmp);
     2455    mr_free(biggies_whose_EXATs_we_should_set);
     2456    mr_free(pathname_of_last_biggie_restored);
     2457    mr_free(biggie_fname);
     2458    mr_free(biggie_cksum);
     2459    mr_free(xattr_fname);
     2460    mr_free(acl_fname);
     2461    mr_free(tmp);
    24662462    return (retval);
    24672463}
     
    26032599        mvaddstr_and_log_it(g_currentY++, 74, "Done.");
    26042600    }
    2605     paranoid_free(tmp);
    2606     paranoid_free(progress_str);
    2607     paranoid_free(tmp_fname);
    2608     paranoid_free(xattr_fname);
    2609     paranoid_free(acl_fname);
     2601    mr_free(tmp);
     2602    mr_free(progress_str);
     2603    mr_free(tmp_fname);
     2604    mr_free(xattr_fname);
     2605    mr_free(acl_fname);
    26102606    return (retval);
    26112607}
     
    26922688    kill_petris();
    26932689    log_msg(2, "restore_everything() --- leaving");
    2694     paranoid_free(cwd);
    2695     paranoid_free(newpath);
    2696     paranoid_free(tmp);
     2690    mr_free(cwd);
     2691    mr_free(newpath);
     2692    mr_free(tmp);
    26972693    return (resA + resB);
    26982694}
     
    29142910        g_text_mode = FALSE;
    29152911    }                           // newt :-)
    2916     if (!
    2917         (bkpinfo = g_bkpinfo_DONTUSETHIS =
    2918          malloc(sizeof(struct s_bkpinfo)))) {
    2919         fatal_error("Cannot malloc bkpinfo");
    2920     }
    2921     if (!(mountlist = malloc(sizeof(struct mountlist_itself)))) {
    2922         fatal_error("Cannot malloc mountlist");
    2923     }
    2924     if (!(raidlist = malloc(sizeof(struct raidlist_itself)))) {
    2925         fatal_error("Cannot malloc raidlist");
    2926     }
     2912    bkpinfo = g_bkpinfo_DONTUSETHIS = mr_malloc(sizeof(struct s_bkpinfo));
     2913    mountlist = mr_malloc(sizeof(struct mountlist_itself));
     2914    raidlist = mr_malloc(sizeof(struct raidlist_itself));
    29272915
    29282916    malloc_libmondo_global_strings();
     
    33443332    sprintf(tmp, "umount %s", bkpinfo->isodir);
    33453333    run_program_and_log_output(tmp, 5);
    3346     paranoid_free(mountlist);
    3347     paranoid_free(raidlist);
     3334    mr_free(mountlist);
     3335    mr_free(raidlist);
    33483336    if (am_I_in_disaster_recovery_mode()) {
    33493337        run_program_and_log_output("mount / -o remount,rw", 2);
     
    33513339    paranoid_MR_finish(retval); // frees global stuff plus bkpinfo
    33523340    free_libmondo_global_strings(); // it's fine to have this here :) really :)
    3353     paranoid_free(a);
    3354     paranoid_free(b);
    3355     paranoid_free(tmp);
     3341    mr_free(a);
     3342    mr_free(b);
     3343    mr_free(tmp);
    33563344
    33573345    unlink("/tmp/filelist.full");
  • branches/stable/mondo/src/mondorestore/mondo-rstr-compare.c

    r1067 r1080  
    11/***************************************************************************
    2        mondo-compare.c  -  compares mondoarchive data
    3                              -------------------
    4     begin                : Fri Apr 25 2003
    5     copyright            : (C) 2000 by Hugo Rabson
    6     email                : Hugo Rabson <hugorabson@msn.com>
    7     cvsid                : $Id$
    8 ***************************************************************************/
    9 
    10 /***************************************************************************
    11  *                                                                         *
    12  *   This program is free software; you can redistribute it and/or modify  *
    13  *   it under the terms of the GNU General Public License as published by  *
    14  *   the Free Software Foundation; either version 2 of the License, or     *
    15  *   (at your option) any later version.                                   *
    16  *                                                                         *
    17  ***************************************************************************/
    18 
    19 /***************************************************************************
    20  *                         Change Log                                      *
    21  ***************************************************************************
    22 .
    23 
    24 
    25 
    26 10/21/2003
    27 - changed "/mnt/cdrom" to MNT_CDROM
    28 
    29 10/18
    30 - don't say unknown compressor if no compressor at all
    31 
    32 09/17
    33 - cleaned up logging & conversion-to-changed.txt
    34 - cleaned up compare_mode()
    35 
    36 09/16
    37 - fixed bad malloc(),free() pairs in compare_a_biggiefile()
    38 
    39 09/14
    40 - compare_mode() --- a couple of strings were the wrong way round,
    41   e.g. changed.txt and changed.files
    42 
    43 05/05
    44 - exclude /dev/ * from list of changed files
    45 
    46 04/30
    47 - added textonly mode
    48 
    49 04/27
    50 - improved compare_mode() to allow for ISO/cd/crazy people
    51 
    52 04/25
    53 - first incarnation
     2* compares mondoarchive data
     3* $Id$
    544*/
    55 
    565
    576#include <pthread.h>
     
    207156    }
    208157
    209     paranoid_free(original_cksum_ptr);
    210     paranoid_free(original_cksum);
    211     paranoid_free(bigfile_fname_ptr);
    212     paranoid_free(bigfile_fname);
    213     paranoid_free(checksum_ptr);
    214     paranoid_free(checksum);
    215     paranoid_free(command_ptr);
    216     paranoid_free(command);
    217     paranoid_free(tmp_ptr);
    218     paranoid_free(tmp);
     158    mr_free(original_cksum_ptr);
     159    mr_free(original_cksum);
     160    mr_free(bigfile_fname_ptr);
     161    mr_free(bigfile_fname);
     162    mr_free(checksum_ptr);
     163    mr_free(checksum);
     164    mr_free(command_ptr);
     165    mr_free(command);
     166    mr_free(tmp_ptr);
     167    mr_free(tmp);
    219168
    220169    return (retval);
     
    395344    }
    396345    unlink(logfile);
    397     paranoid_free(command);
    398     paranoid_free(tmp);
    399     paranoid_free(filelist_name);
    400     paranoid_free(logfile);
     346    mr_free(command);
     347    mr_free(tmp);
     348    mr_free(filelist_name);
     349    mr_free(logfile);
    401350    malloc_string(archiver_exe);
    402351    malloc_string(compressor_exe);
     
    494443        mvaddstr_and_log_it(g_currentY++, 74, "Done.");
    495444    }
    496     paranoid_free(tarball_fname);
    497     paranoid_free(progress_str);
    498     paranoid_free(tmp);
     445    mr_free(tarball_fname);
     446    mr_free(progress_str);
     447    mr_free(tmp);
    499448    return (retval);
    500449}
     
    555504    }
    556505
    557     paranoid_free(tmp);
    558     paranoid_free(cwd);
    559     paranoid_free(new);
    560     paranoid_free(command);
     506    mr_free(tmp);
     507    mr_free(cwd);
     508    mr_free(new);
     509    mr_free(command);
    561510
    562511    return (resA + resB);
     
    663612    }
    664613    kill_petris();
    665     paranoid_free(tmp);
     614    mr_free(tmp);
    666615    return (retval);
    667616}
     
    717666
    718667    mvaddstr_and_log_it(g_currentY++, 74, "Done.");
    719     paranoid_free(dir);
    720     paranoid_free(command);
     668    mr_free(dir);
     669    mr_free(command);
    721670    return (res);
    722671}
     
    761710        mvaddstr_and_log_it(g_currentY++, 74, "Done.");
    762711    }
    763     paranoid_free(dir);
    764     paranoid_free(command);
     712    mr_free(dir);
     713    mr_free(command);
    765714    return (res);
    766715}
  • branches/stable/mondo/src/mondorestore/mondo-rstr-newt.c

    r738 r1080  
    11/***************************************************************************
    2 mondo-rstr-newt.c  -  description
    3 -----------------
    4 
    5 begin: Fri Apr 19 16:40:35 EDT 2002
    6 copyright : (C) 2002 Mondo  Hugo Rabson
    7 email     : Hugo Rabson <hugorabson@msn.com>
    8 edited by : by Stan Benoit 4/2002
    9 email     : troff@nakedsoul.org
    10 cvsid     : $Id$
    11 ***************************************************************************/
    12 
    13 /***************************************************************************
    14  *                                                                         *
    15  *   This program is free software; you can redistribute it and/or modify  *
    16  *   it under the terms of the GNU General Public License as published by  *
    17  *   the Free Software Foundation; either version 2 of the License, or     *
    18  *   (at your option) any later version.                                   *
    19  *                                                                         *
    20  ***************************************************************************/
    21 /* mondo-rstr-newt.c               Hugo Rabson
    22 
    23 
    24 07/12
    25 - wider mountlist entry editor window
    26 
    27 03/28/2004
    28 - removed g_mountlist_fname
    29 
    30 07/02/2003
    31 - fixed calls to popup_and_get_string()
    32 
    33 06/05
    34 - cleaned up get_isodir_info()
    35 
    36 05/02
    37 - added strip_path() to improve file list display for long paths (Conor)
    38 
    39 04/24
    40 - added lots of assert()'s and log_OS_error()'s
    41 
    42 04/08/2003
    43 - commented out call to sort_mountlist_by_device(), just in case it's
    44   futzing with LVM/RAID users
    45 
    46 08/21/2002
    47 - fix MOUNTLIST_FNAME and RAIDTAB_FNAME if Reload button finds them empty
    48 
    49 08/19
    50 - fixed what_number_cd_is_this() to take bkpinfo as parameter
    51 
    52 07/01 - 07/31
    53 - renamed from mondo-newt.c to mondo-rstr-newt.c
    54 - moved lots of subroutines to libmondo-newt.c
    55 - added hooks to libmondo
    56 - better handling of yes/no/YES/NO
    57 - better "% done" feedback (Philippe de Muyter)
    58 
    59 05/01 - 06/30
    60 - trim trailing \n from fgets() in a couple of functions
    61 - expanded "May I write mountlist?" message
    62 - replace scanf() with a properly restricted fgets() (Troff)
    63 
    64 02/01 - 02/28/2002
    65 - allow up to 50 chars in popup_and_get_string()'s input field
    66 - if g_current_progress > g_maximum_progress then g_current_progress=g_max...
    67   to stop the progress bar from shooting off the RHS of the screen :)
    68 - beefed up the RAID-related logging a bit
    69 - don't complain if partition format is a number (1-255)
    70 - if hard disk does not exist then warn user when editing mountlist
    71 - when running 'eject -t', log its output
    72 
    73 [...]
    74 
    75 08/09/2001
    76 - created
     2 * $Id$
    773*/
     4
     5#include "mr_mem.h"
    786
    797
     
    16501578    malloc_string(sz_parity_disks);
    16511579    malloc_string(sz_failed_disks);
    1652     if (!(bkp_raidrec = malloc(sizeof(struct raid_device_record)))) {
    1653         fatal_error("Cannot malloc space for raidrec");
    1654     }
     1580    bkp_raidrec = mr_malloc(sizeof(struct raid_device_record));
    16551581
    16561582    log_it("Started edit_raidlist_entry");
     
    17271653        calculate_raid_device_size(mountlist, raidlist,
    17281654                                   raidrec->raid_device);
    1729     paranoid_free(title_of_editraidForm_window);
    1730     paranoid_free(sz_raid_level);
    1731     paranoid_free(sz_data_disks);
    1732     paranoid_free(sz_spare_disks);
    1733     paranoid_free(sz_parity_disks);
    1734     paranoid_free(sz_failed_disks);
    1735     paranoid_free(bkp_raidrec);
     1655    mr_free(title_of_editraidForm_window);
     1656    mr_free(sz_raid_level);
     1657    mr_free(sz_data_disks);
     1658    mr_free(sz_spare_disks);
     1659    mr_free(sz_parity_disks);
     1660    mr_free(sz_failed_disks);
     1661    mr_free(bkp_raidrec);
    17361662#endif
    17371663}
     
    17811707    struct mountlist_itself *unallocparts;
    17821708
    1783     unallocparts = malloc(sizeof(struct mountlist_itself));
     1709    unallocparts = mr_malloc(sizeof(struct mountlist_itself));
    17841710
    17851711    log_it("Started edit_raidlist_entry");
     
    28162742    malloc_string(sz_res);
    28172743    malloc_string(header_text);
    2818     if (!(bkp_raidrec = malloc(sizeof(struct raid_device_record)))) {
    2819         fatal_error("Cannot malloc space for raidrec");
    2820     }
    2821     if (!(bkp_disklist = malloc(sizeof(struct list_of_disks)))) {
    2822         fatal_error("Cannot malloc space for disklist");
    2823     }
    2824     if (!(bkp_raidlist = malloc(sizeof(struct raidlist_itself)))) {
    2825         fatal_error("Cannot malloc space for raidlist");
    2826     }
    2827     if (!
    2828         (unallocated_raid_partitions =
    2829          malloc(sizeof(struct mountlist_itself)))) {
    2830         fatal_error("Cannot malloc space for unallocated_raid_partitions");
    2831     }
     2744    bkp_raidrec = mr_malloc(sizeof(struct raid_device_record));
     2745    bkp_disklist = mr_malloc(sizeof(struct list_of_disks));
     2746    bkp_raidlist = mr_malloc(sizeof(struct raidlist_itself));
     2747    unallocated_raid_partitions = mr_malloc(sizeof(struct mountlist_itself));
    28322748
    28332749    memcpy((void *) bkp_raidlist, (void *) raidlist,
     
    29202836               sizeof(struct list_of_disks));
    29212837    }
    2922     paranoid_free(tmp);
    2923     paranoid_free(help_text);
    2924     paranoid_free(title_of_window);
    2925     paranoid_free(sz_res);
    2926     paranoid_free(header_text);
    2927     paranoid_free(bkp_raidrec);
    2928     paranoid_free(bkp_disklist);
    2929     paranoid_free(bkp_raidlist);
    2930     paranoid_free(unallocated_raid_partitions);
     2838    mr_free(tmp);
     2839    mr_free(help_text);
     2840    mr_free(title_of_window);
     2841    mr_free(sz_res);
     2842    mr_free(header_text);
     2843    mr_free(bkp_raidrec);
     2844    mr_free(bkp_disklist);
     2845    mr_free(bkp_raidlist);
     2846    mr_free(unallocated_raid_partitions);
    29312847}
    29322848#endif
  • branches/stable/mondo/src/mondorestore/mondo-rstr-tools.c

    r1067 r1080  
    11/***************************************************************************
    2 mondo-rstr-tools.c  -  description
    3 -----------------
    4 
    5 begin: Sun Sep 21 16:40:35 EDT 2003
    6 copyright : (C) 2002 Mondo  Hugo Rabson
    7 email     : Hugo Rabson <hugorabson@msn.com>
    8 edited by : by Stan Benoit ?/2003
    9 email     : troff@nakedsoul.org
    10 cvsid     : $Id: mondo-rstr-tools.c
    11 ***************************************************************************/
    12 
    13 /***************************************************************************
    14  *                                                                         *
    15  *   This program is free software; you can redistribute it and/or modify  *
    16  *   it under the terms of the GNU General Public License as published by  *
    17  *   the Free Software Foundation; either version 2 of the License, or     *
    18  *   (at your option) any later version.                                   *
    19  *                                                                         *
    20  ***************************************************************************/
    21 /* mondo-rstr-tools.c               Hugo Rabson
    22 
    23 
    24 07/27
    25 - if the user is foolish enough to use /dev/md0 as boot device,
    26   call lilo -M /dev/hda to make sure lilo does its job properly
    27 - better NFS+nuke support
    28 
    29 07/20
    30 - use backup's i-want-my-lvm file
    31 - be sure to use archives' raidtab when restoring
    32 
    33 07/18
    34 - use /tmp/isodir for NFS if DR mode
    35 - better support of users who boot from LVM CD and nuke-restore non-LVM backups
    36 
    37 07/12
    38 - bugfix to allow user to burn ISOs to CDs and restore from CDs (not original src)
    39 
    40 06/29
    41 - mount ext3 partitions as ext2, just in case :)
    42 
    43 06/26
    44 - delete make_relevant_partition_bootable()
    45 
    46 06/19
    47 - futzed with the call to mount floppy, to stop it from locking up on my AMD64 system
    48 
    49 06/14
    50 - shell out to /mnt/RESTORING chroot in order to let user install GRUB
    51   manually if automatic GRUB installation fails
    52 
    53 06/15
    54 - Added check for different 'isodir' chosen by user than stored in the archive
    55   Conor Daly <conor.daly@met.ie>
    56 
    57 04/17
    58 - replaced INTERNAL_TAPE_BLK_SIZE with bkpinfo->internal_tape_block_size
    59 
    60 04/09
    61 - don't try to mount CD if tape bkp
    62 
    63 04/03
    64 - trying to copy tmp/mondo-restore.cfg to itself - silly! - fixed
    65 
    66 04/02
    67 - when extracting cfg file and mountlist from all.tar.gz (tape copy),
    68   use block size of INTERNAL_TAPE_BLK_SIZE, not TAPE_BLOCK_SIZE
    69 
    70 02/21
    71 - don't use 'mv -v' cos Busybox won't support it
    72 
    73 02/09
    74 - make hole for cfg file before moving it (line 2094 or so)
    75 
    76 02/03
    77 - changed a couple of refs to filelist.full, to filelist.full.gz
    78 
    79 01/16/2004
    80 - instead of copying filelist, use 'ln -sf' to link to original;
    81   saves space
    82 
    83 11/20/2003
    84 - also retrieve /tmp/mountlist.txt if user wants
    85 
    86 11/16
    87 - fixed NFS path bug affecting the extractions of filelist/biggielist
    88   during selective restore
    89 
    90 11/02
    91 - fixed mount_cdrom() to run properly w/ nfs restores
    92 - mount_device() returns 0 if swap mount fails cos swap isn't crucial
    93 
    94 10/17
    95 - run_grub() uses MNT_RESTORING instead of "/mnt/RESTORING"
    96 
    97 10/26
    98 - cleaned up run_grub()
    99 
    100 10/25
    101 - fixed mount_cdrom() to run properly w/ nfs restores
    102 
    103 10/21
    104 - mount_device() returns 0 if swap mount fails cos swap isn't crucial
    105 
    106 10/15
    107 - run_grub() now uses its initiative instead
    108   of calling grub-install
    109 
    110 10/10
    111 - don't leave copies of filelist.full lying around, clogging up
    112   the ramdisk, there's a good fellow :-)
    113 
    114 10/02
    115 - added 'dvd' to the range of media types I'll understand
    116 - fixed iso->cdr problem (thanks, Stan Benoit & Fred Beondo)
    117 
    118 09/24
    119 - try lots of tape devs if /dev/st0 fails
    120 
    121 09/23/2003
    122 - first incarnation
     2 * $Id$
    1233*/
    1244
     
    13212//#include "mondo-rstr-compare-EXT.h"
    13313#include "mondo-rstr-tools.h"
     14#include "mr_mem.h"
    13415
    13516extern bool g_sigpipe_caught;
     
    17455void free_MR_global_filenames()
    17556{
    176     paranoid_free(g_biggielist_txt);
    177     paranoid_free(g_filelist_full);
    178     paranoid_free(g_filelist_imagedevs);
    179 //  paranoid_free (g_imagedevs_pot );
    180     paranoid_free(g_imagedevs_restthese);
    181     paranoid_free(g_mondo_cfg_file);
    182     paranoid_free(g_mountlist_fname);
    183     paranoid_free(g_mondo_home);
    184     paranoid_free(g_tmpfs_mountpt);
    185     paranoid_free(g_isodir_device);
    186     paranoid_free(g_isodir_format);
     57    mr_free(g_biggielist_txt);
     58    mr_free(g_filelist_full);
     59    mr_free(g_filelist_imagedevs);
     60//  mr_free (g_imagedevs_pot );
     61    mr_free(g_imagedevs_restthese);
     62    mr_free(g_mondo_cfg_file);
     63    mr_free(g_mountlist_fname);
     64    mr_free(g_mondo_home);
     65    mr_free(g_tmpfs_mountpt);
     66    mr_free(g_isodir_device);
     67    mr_free(g_isodir_format);
    18768
    18869}
     
    21394    assert_string_is_neither_NULL_nor_zerolength(outfname);
    21495
    215     incoming_ptr = malloc(sizeof(incoming));
    216     if (incoming_ptr == NULL) {
    217         fprintf(stderr, "Out of Memory\n");
    218         exit(EXIT_FAILURE);
    219     }
    220 
    221     question_ptr = malloc(sizeof(question));
    222     if (question_ptr == NULL) {
    223         fprintf(stderr, "Out of Memory\n");
    224         exit(EXIT_FAILURE);
    225     }
     96    incoming_ptr = mr_malloc(sizeof(incoming));
     97    question_ptr = mr_malloc(sizeof(question));
    22698
    22799    memset(incoming_ptr, '\0', sizeof(incoming));
     
    253125
    254126  /*** free memory ***********/
    255     paranoid_free(incoming_ptr);
     127    mr_free(incoming_ptr);
    256128    incoming_ptr = NULL;
    257     paranoid_free(question_ptr);
     129    mr_free(question_ptr);
    258130    question_ptr = NULL;
    259131
     
    341213        retval = 0;
    342214    }
    343     paranoid_free(mountpt);
    344     paranoid_free(command);
    345     paranoid_free(orig_fname);
     215    mr_free(mountpt);
     216    mr_free(command);
     217    mr_free(orig_fname);
    346218    return (retval);
    347219
     
    406278    sprintf(command, "grep -E '^%s$' %s", file, list_fname);
    407279    res = run_program_and_log_output(command, FALSE);
    408     paranoid_free(command);
    409     paranoid_free(file);
    410     paranoid_free(tmp);
     280    mr_free(command);
     281    mr_free(file);
     282    mr_free(tmp);
    411283    if (res) {
    412284        return (FALSE);
     
    500372    log_msg(2, "%ld: bkpinfo->isodir is now %s", __LINE__,
    501373            bkpinfo->isodir);
    502     paranoid_free(mount_isodir_command);
    503     paranoid_free(tmp);
    504     paranoid_free(command);
     374    mr_free(mount_isodir_command);
     375    mr_free(tmp);
     376    mr_free(command);
    505377    return (retval);
    506378}
     
    519391            "kill `ps 2> /dev/null | grep petris 2> /dev/null | grep -v grep | cut -d' ' -f2` 2> /dev/null");
    520392    paranoid_system(command);
    521     paranoid_free(command);
     393    mr_free(command);
    522394}
    523395
     
    556428    }
    557429    if (!does_file_exist(rclocal_fname)) {
    558         paranoid_free(rclocal_fname);
    559         paranoid_free(newfile_fname);
    560         paranoid_free(tmp);
     430        mr_free(rclocal_fname);
     431        mr_free(newfile_fname);
     432        mr_free(tmp);
    561433        return (1);
    562434    }
     
    582454    sprintf(tmp, "chmod +x \"%s\"", newfile_fname);
    583455    run_program_and_log_output(tmp, FALSE);
    584     paranoid_free(rclocal_fname);
    585     paranoid_free(newfile_fname);
    586     paranoid_free(tmp);
     456    mr_free(rclocal_fname);
     457    mr_free(newfile_fname);
     458    mr_free(tmp);
    587459    return (0);
    588460}
     
    613485    malloc_string(these_failed);
    614486    assert(p_external_copy_of_mountlist != NULL);
    615     mountlist = malloc(sizeof(struct mountlist_itself));
     487    mountlist = mr_malloc(sizeof(struct mountlist_itself));
    616488    memcpy((void *) mountlist, (void *) p_external_copy_of_mountlist,
    617489           sizeof(struct mountlist_itself));
     
    684556    }
    685557    run_program_and_log_output("df -m", 3);
    686     paranoid_free(mountlist);
    687     paranoid_free(tmp);
    688     paranoid_free(format);
    689     paranoid_free(these_failed);
     558    mr_free(mountlist);
     559    mr_free(tmp);
     560    mr_free(format);
     561    mr_free(these_failed);
    690562    return (retval);
    691563}
     
    720592        || bkpinfo->backup_media_type == udev) {
    721593        log_msg(8, "Tape/udev. Therefore, no need to mount CDROM.");
    722         paranoid_free(mount_cmd);
     594        mr_free(mount_cmd);
    723595        return 0;
    724596    }
     
    726598    if (!run_program_and_log_output("mount | grep -F " MNT_CDROM, FALSE)) {
    727599        log_msg(2, "mount_cdrom() - CD already mounted. Fair enough.");
    728         paranoid_free(mount_cmd);
     600        mr_free(mount_cmd);
    729601        return (0);
    730602    }
     
    807679        log_msg(2, "Mounted CD-ROM drive OK");
    808680    }
    809     paranoid_free(mount_cmd);
     681    mr_free(mount_cmd);
    810682    return (res);
    811683}
     
    918790    }
    919791
    920     paranoid_free(tmp);
    921     paranoid_free(command);
    922     paranoid_free(mountdir);
    923     paranoid_free(mountpoint);
    924     paranoid_free(additional_parameters);
     792    mr_free(tmp);
     793    mr_free(command);
     794    mr_free(mountdir);
     795    mr_free(mountpoint);
     796    mr_free(additional_parameters);
    925797
    926798    return (res);
     
    1107979    read_cfg_var(cfg_file, "acl", value);
    1108980    if (strstr(value, "TRUE")) {
    1109         asprintf(&g_getfacl,"setfacl");
     981        mr_asprintf(&g_getfacl,"setfacl");
    1110982        log_msg(1, "We will restore ACLs");
    1111983        if (! find_home_of_exe("setfacl")) {
     
    1115987    read_cfg_var(cfg_file, "xattr", value);
    1116988    if (strstr(value, "TRUE")) {
    1117         asprintf(&g_getfattr,"setfattr");
     989        mr_asprintf(&g_getfattr,"setfattr");
    1118990        log_msg(1, "We will restore XATTRs");
    1119991        if (! find_home_of_exe("setfattr")) {
     
    12901162    }
    12911163    g_backup_media_type = bkpinfo->backup_media_type;
    1292     paranoid_free(value);
    1293     paranoid_free(tmp);
    1294     paranoid_free(command);
    1295     paranoid_free(iso_mnt);
    1296     paranoid_free(iso_path);
    1297     paranoid_free(old_isodir);
     1164    mr_free(value);
     1165    mr_free(tmp);
     1166    mr_free(command);
     1167    mr_free(iso_mnt);
     1168    mr_free(iso_path);
     1169    mr_free(old_isodir);
    12981170    return (0);
    12991171
     
    14801352    }
    14811353
    1482     paranoid_free(command);
    1483     paranoid_free(tmp);
     1354    mr_free(command);
     1355    mr_free(tmp);
    14841356    return (filelist);
    14851357}
     
    15141386
    15151387    res = run_program_and_log_output(command, 5);
    1516     paranoid_free(tmp);
    1517     paranoid_free(command);
     1388    mr_free(tmp);
     1389    mr_free(command);
    15181390    return (res);
    15191391}
     
    15931465        log_to_screen("Your boot loader ran OK");
    15941466    }
    1595     paranoid_free(device);
    1596     paranoid_free(tmp);
    1597     paranoid_free(name);
     1467    mr_free(device);
     1468    mr_free(tmp);
     1469    mr_free(name);
    15981470    return (retval);
    15991471}
     
    17391611        mvaddstr_and_log_it(g_currentY++, 74, "Done.");
    17401612    }
    1741     paranoid_free(rootdev);
    1742     paranoid_free(rootdrive);
    1743     paranoid_free(conffile);
    1744     paranoid_free(command);
    1745     paranoid_free(boot_device);
    1746     paranoid_free(tmp);
    1747     paranoid_free(editor);
     1613    mr_free(rootdev);
     1614    mr_free(rootdrive);
     1615    mr_free(conffile);
     1616    mr_free(command);
     1617    mr_free(boot_device);
     1618    mr_free(tmp);
     1619    mr_free(editor);
    17481620
    17491621    return (res);
     
    18131685        res = TRUE;
    18141686    }
    1815     paranoid_free(command);
    1816     paranoid_free(tmp);
    1817     paranoid_free(editor);
     1687    mr_free(command);
     1688    mr_free(tmp);
     1689    mr_free(editor);
    18181690    return (res);
    18191691}
     
    19241796                                   " lilo -M /dev/sda", 3);
    19251797    }
    1926     paranoid_free(command);
    1927     paranoid_free(tmp);
    1928     paranoid_free(editor);
     1798    mr_free(command);
     1799    mr_free(tmp);
     1800    mr_free(editor);
    19291801    return (res);
    19301802}
     
    20061878        mvaddstr_and_log_it(g_currentY++, 74, "Done.");
    20071879    }
    2008     paranoid_free(command);
    2009     paranoid_free(boot_device);
    2010     paranoid_free(tmp);
    2011     paranoid_free(editor);
     1880    mr_free(command);
     1881    mr_free(boot_device);
     1882    mr_free(tmp);
     1883    mr_free(editor);
    20121884    return (res);
    20131885}
     
    21292001    paranoid_fclose(fout);
    21302002    paranoid_fclose(fin);
    2131     paranoid_free(incoming);
     2003    mr_free(incoming);
    21322004}
    21332005
     
    21772049    }
    21782050    close_progress_form();
    2179     paranoid_free(tmp);
     2051    mr_free(tmp);
    21802052}
    21812053
     
    22222094    assert(p_external_copy_of_mountlist != NULL);
    22232095
    2224     mountlist = malloc(sizeof(struct mountlist_itself));
     2096    mountlist = mr_malloc(sizeof(struct mountlist_itself));
    22252097    memcpy((void *) mountlist, (void *) p_external_copy_of_mountlist,
    22262098           sizeof(struct mountlist_itself));
     
    23062178        log_to_screen("All partitions were unmounted OK.");
    23072179    }
    2308     free(mountlist);
    2309     paranoid_free(command);
    2310     paranoid_free(tmp);
     2180    mr_free(mountlist);
     2181    mr_free(command);
     2182    mr_free(tmp);
    23112183    return (retval);
    23122184}
     
    23462218        res = 0;
    23472219    }
    2348     paranoid_free(command);
     2220    mr_free(command);
    23492221    return (res);
    23502222}
     
    26102482    run_program_and_log_output(command, FALSE);
    26112483    g_backup_media_type = bkpinfo->backup_media_type;
    2612     paranoid_free(device);
    2613     paranoid_free(command);
    2614     paranoid_free(tmp);
    2615     paranoid_free(cfg_file);
    2616     paranoid_free(mounted_cfgf_path);
    2617     paranoid_free(mountpt);
    2618     paranoid_free(ramdisk_fname);
    2619     paranoid_free(mountlist_file);
     2484    mr_free(device);
     2485    mr_free(command);
     2486    mr_free(tmp);
     2487    mr_free(cfg_file);
     2488    mr_free(mounted_cfgf_path);
     2489    mr_free(mountpt);
     2490    mr_free(ramdisk_fname);
     2491    mr_free(mountlist_file);
    26202492    return (retval);
    26212493}
     
    26492521
    26502522    malloc_string(screen_message);
    2651     raidlist = malloc(sizeof(struct raidlist_itself));
     2523    raidlist = mr_malloc(sizeof(struct raidlist_itself));
    26522524
    26532525    assert(wait_for_percentage <= 100);
     
    26842556        }
    26852557    }
    2686     paranoid_free(screen_message);
    2687     paranoid_free(raidlist);
    2688 }
     2558    mr_free(screen_message);
     2559    mr_free(raidlist);
     2560}
Note: See TracChangeset for help on using the changeset viewer.