From 19fd87ef7be3effd37dd515fc612bebd330a5282 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Wed, 29 Apr 2009 12:52:32 +0200 Subject: [PATCH] Small adjustments in new code after review. --- libisofs/image.c | 13 ++++++++----- libisofs/libisofs.h | 3 ++- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/libisofs/image.c b/libisofs/image.c index d9c419a..8bc1211 100644 --- a/libisofs/image.c +++ b/libisofs/image.c @@ -341,7 +341,8 @@ int img_register_ino(IsoImage *image, IsoNode *node, int flag) if (ret < 0) return ret; if (ret > 0 && ino >= image->used_inodes_start && - ino < image->used_inodes_start + ISO_USED_INODE_RANGE) { + ino <= image->used_inodes_start + (ISO_USED_INODE_RANGE - 1)) { + /* without -1 : rollover hazard on 32 bit */ /* <<< */ if (ino && @@ -366,7 +367,7 @@ int img_register_ino(IsoImage *image, IsoNode *node, int flag) int img_collect_inos(IsoImage *image, IsoDir *dir, int flag) { int ret, register_dir = 1; - IsoDirIter *iter; + IsoDirIter *iter = NULL; IsoNode *node; IsoDir *subdir; @@ -405,7 +406,8 @@ int img_collect_inos(IsoImage *image, IsoDir *dir, int flag) } ret = 1; ex:; - iso_dir_iter_free(iter); + if (iter != NULL) + iso_dir_iter_free(iter); return ret; } @@ -511,7 +513,7 @@ int img_update_ino(IsoImage *image, IsoNode *node, int flag) int img_make_inos(IsoImage *image, IsoDir *dir, int flag) { int ret; - IsoDirIter *iter; + IsoDirIter *iter = NULL; IsoNode *node; IsoDir *subdir; @@ -537,7 +539,8 @@ int img_make_inos(IsoImage *image, IsoDir *dir, int flag) } ret = 1; ex:; - iso_dir_iter_free(iter); + if (iter != NULL) + iso_dir_iter_free(iter); return ret; } diff --git a/libisofs/libisofs.h b/libisofs/libisofs.h index da33960..be06e3d 100644 --- a/libisofs/libisofs.h +++ b/libisofs/libisofs.h @@ -5288,13 +5288,14 @@ struct burn_source { /* Hardlinks : Override Libisofs_new_fs_image_inO and preserve inode numbers from session to session. - >>> STILL IMMATURE. DO NOT USE YET. */ #define Libisofs_hardlink_prooF yes /* Experiment: Ignore PX inode numbers, have boot image inode number counted by fs_give_ino_number() + + Overridden if Libisofs_hardlink_prooF is defined. */ #define Libisofs_new_fs_image_inO yes