1Upstream-Status: Inappropriate [OE specific] 2 3commonio.c: fix unexpected open failure in chroot environment 4 5When using commands with '-R <newroot>' option in our pseudo environment, 6we would usually get the 'Pemission Denied' error. This patch serves as 7a workaround to this problem. 8 9Note that this patch doesn't change the logic in the code, it just expands 10the codes. 11 12Signed-off-by: Chen Qi <Qi.Chen@windriver.com> 13--- 14 lib/commonio.c | 16 ++++++++++++---- 15 1 file changed, 12 insertions(+), 4 deletions(-) 16 17diff --git a/lib/commonio.c b/lib/commonio.c 18index cc536bf..51cafd9 100644 19--- a/lib/commonio.c 20+++ b/lib/commonio.c 21@@ -613,10 +613,18 @@ int commonio_open (struct commonio_db *db, int mode) 22 db->cursor = NULL; 23 db->changed = false; 24 25- fd = open (db->filename, 26- (db->readonly ? O_RDONLY : O_RDWR) 27- | O_NOCTTY | O_NONBLOCK | O_NOFOLLOW); 28- saved_errno = errno; 29+ if (db->readonly) { 30+ fd = open (db->filename, 31+ (true ? O_RDONLY : O_RDWR) 32+ | O_NOCTTY | O_NONBLOCK | O_NOFOLLOW); 33+ saved_errno = errno; 34+ } else { 35+ fd = open (db->filename, 36+ (false ? O_RDONLY : O_RDWR) 37+ | O_NOCTTY | O_NONBLOCK | O_NOFOLLOW); 38+ saved_errno = errno; 39+ } 40+ 41 db->fp = NULL; 42 if (fd >= 0) { 43 #ifdef WITH_TCB 44-- 451.7.9.5 46 47