From: Eric Biggers Date: Thu, 26 Mar 2015 04:07:55 +0000 (-0500) Subject: inode.c: fix initialization of i_streams X-Git-Tag: v1.8.1~63 X-Git-Url: https://wimlib.net/git/?p=wimlib;a=commitdiff_plain;h=bec8ad2db6634b814024f014ace69b0301fd5032 inode.c: fix initialization of i_streams --- diff --git a/src/dentry.c b/src/dentry.c index 302409f9..378e16fe 100644 --- a/src/dentry.c +++ b/src/dentry.c @@ -1299,9 +1299,7 @@ setup_inode_streams(const u8 *p, const u8 *end, struct wim_inode *inode, inode->i_num_streams = 1 + num_extra_streams; - if (likely(inode->i_num_streams <= ARRAY_LEN(inode->i_embedded_streams))) { - inode->i_streams = inode->i_embedded_streams; - } else { + if (unlikely(inode->i_num_streams > ARRAY_LEN(inode->i_embedded_streams))) { inode->i_streams = CALLOC(inode->i_num_streams, sizeof(inode->i_streams[0])); if (!inode->i_streams) diff --git a/src/inode.c b/src/inode.c index 62cab6ed..0cf092d6 100644 --- a/src/inode.c +++ b/src/inode.c @@ -59,6 +59,7 @@ new_inode(struct wim_dentry *dentry, bool set_timestamps) inode->i_not_rpfixed = 1; INIT_LIST_HEAD(&inode->i_list); INIT_LIST_HEAD(&inode->i_dentry); + inode->i_streams = inode->i_embedded_streams; if (set_timestamps) { u64 now = now_as_wim_timestamp(); inode->i_creation_time = now;