Ignore:
Timestamp:
Aug 18, 2009, 3:20:42 PM (15 years ago)
Author:
Bruno Cornec
Message:

r3339@localhost: bruno | 2009-08-11 23:56:01 +0200
bkpinfo->kernel_path, bkpinfo->call_before_iso, bkpinfo->call_make_iso, bkpinfo->call_burn_iso, bkpinfo->call_after_iso and bkpinfo->postnuke_tarball are now dynamically allocated

File:
1 edited

Legend:

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

    r2327 r2328  
    418418    char *tmp = NULL;
    419419    char *p = NULL;
    420     char call_before_iso_user[MAX_STR_LEN] = "\0";
     420    char call_before_iso_user = NULL;
    421421    char *iso_dev = NULL;
    422422    char *iso_mnt = NULL;
     
    529529                return(1);
    530530            }
    531             sprintf(bkpinfo->call_make_iso,
    532                     "%s %s -Z %s . 2>> _ERR_",
    533                     mondo_mkisofs_sz,
    534                     "", bkpinfo->media_device);
     531            mr_free(bkpinfo->call_make_iso);
     532            mr_asprintf(bkpinfo->call_make_iso, "%s %s -Z %s . 2>> _ERR_", mondo_mkisofs_sz, "", bkpinfo->media_device);
    535533            paranoid_free(mondo_mkisofs_sz);
    536534        }
     
    544542            mr_free(command);
    545543        }
    546         log_msg(2, "call_make_iso (DVD res) is ... %s",
    547                 bkpinfo->call_make_iso);
     544        log_msg(2, "call_make_iso (DVD res) is ... %s", bkpinfo->call_make_iso);
    548545    }                           // end of DVD code
    549546
     
    585582            mr_asprintf(mondo_mkisofs_sz, MONDO_MKISOFS_REGULAR_SYSLINUX);
    586583        }
     584
     585        mr_free(bkpinfo->call_make_iso);
    587586        if (bkpinfo->manual_cd_tray) {
    588             if (bkpinfo->call_before_iso[0] == '\0') {
    589             sprintf(bkpinfo->call_before_iso,
    590                         "%s -o %s/"MONDO_TMPISOS" . 2>> _ERR_",
    591                         mondo_mkisofs_sz, bkpinfo->tmpdir);
    592                 } else {
    593                 strncpy(call_before_iso_user, bkpinfo->call_before_iso, MAX_STR_LEN);
    594                 sprintf (bkpinfo->call_before_iso,
    595                                     "( %s -o %s/"MONDO_TMPISOS" . 2>> _ERR_ ; %s )",
    596                         mondo_mkisofs_sz, bkpinfo->tmpdir, call_before_iso_user);
     587            if (bkpinfo->call_before_iso == NULL) {
     588                mr_asprintf(bkpinfo->call_before_iso, "%s -o %s/"MONDO_TMPISOS" . 2>> _ERR_", mondo_mkisofs_sz, bkpinfo->tmpdir);
     589            } else {
     590                mr_asprintf(call_before_iso_user, "%s", bkpinfo->call_before_iso);
     591                mr_free(bkpinfo->call_before_iso);
     592                mr_asprintf(bkpinfo->call_before_iso, "( %s -o %s/"MONDO_TMPISOS" . 2>> _ERR_ ; %s )", mondo_mkisofs_sz, bkpinfo->tmpdir, call_before_iso_user);
     593                mr_free(call_before_iso_user);
    597594            }
    598595            log_it("bkpinfo->call_before_iso = %s", bkpinfo->call_before_iso);
     
    600597                return(1);
    601598            }
    602             sprintf(bkpinfo->call_make_iso,
    603                     "%s %s -v %s fs=4m dev=%s speed=%d %s/"MONDO_TMPISOS,
    604                     cdr_exe, (bkpinfo->please_dont_eject) ? " " : "-eject",
    605                     extra_cdrom_params, bkpinfo->media_device,
    606                     bkpinfo->cdrw_speed, bkpinfo->tmpdir);
     599            mr_asprintf(bkpinfo->call_make_iso, "%s %s -v %s fs=4m dev=%s speed=%d %s/"MONDO_TMPISOS, cdr_exe, (bkpinfo->please_dont_eject) ? " " : "-eject", extra_cdrom_params, bkpinfo->media_device, bkpinfo->cdrw_speed, bkpinfo->tmpdir);
    607600        } else {
    608             sprintf(bkpinfo->call_make_iso,
    609                     "%s . 2>> _ERR_ | %s %s %s fs=4m dev=%s speed=%d -",
    610                     mondo_mkisofs_sz, cdr_exe,
    611                     (bkpinfo->please_dont_eject) ? " " : "-eject",
    612                     extra_cdrom_params, bkpinfo->media_device,
    613                     bkpinfo->cdrw_speed);
     601            mr_asprintf(bkpinfo->call_make_iso, "%s . 2>> _ERR_ | %s %s %s fs=4m dev=%s speed=%d -", mondo_mkisofs_sz, cdr_exe, (bkpinfo->please_dont_eject) ? " " : "-eject", extra_cdrom_params, bkpinfo->media_device, bkpinfo->cdrw_speed);
    614602        }
    615603        paranoid_free(mondo_mkisofs_sz);
     
    810798    mr_free(bkpinfo->exclude_paths);
    811799    mr_free(bkpinfo->restore_path);
     800    mr_free(bkpinfo->call_before_iso);
     801    mr_free(bkpinfo->call_make_iso);
     802    mr_free(bkpinfo->call_burn_iso);
     803    mr_free(bkpinfo->call_after_iso);
     804    mr_free(bkpinfo->kernel_path);
    812805    mr_free(bkpinfo->nfs_mount);
    813806    mr_free(bkpinfo->nfs_remote_dir);
    814807    mr_free(bkpinfo->nfs_user);
     808    mr_free(bkpinfo->postnuke_tarball);
    815809
    816810    /* Then free the structure */
     
    860854    bkpinfo->exclude_paths = NULL;
    861855    bkpinfo->restore_path = NULL;
    862     bkpinfo->call_before_iso[0] = '\0';
    863     bkpinfo->call_make_iso[0] = '\0';
    864     bkpinfo->call_burn_iso[0] = '\0';
    865     bkpinfo->call_after_iso[0] = '\0';
    866     bkpinfo->kernel_path[0] = '\0';
     856    bkpinfo->call_before_iso = NULL;
     857    bkpinfo->call_make_iso = NULL;
     858    bkpinfo->call_burn_iso = NULL;
     859    bkpinfo->call_after_iso = NULL;
     860    bkpinfo->kernel_path = NULL;
    867861    bkpinfo->nfs_mount = NULL;
    868862    bkpinfo->nfs_remote_dir = NULL;
    869863    bkpinfo->nfs_user = NULL;
    870     bkpinfo->postnuke_tarball[0] = '\0';
     864    bkpinfo->postnuke_tarball = NULL;
    871865    bkpinfo->wipe_media_first = FALSE;
    872866    bkpinfo->differential = 0;
Note: See TracChangeset for help on using the changeset viewer.