Opened 14 years ago

Closed 14 years ago

Last modified 14 years ago

#363 closed defect (fixed)

Mondoarchive 2.2.9 crashes if exclude_path is specified

Reported by: AndyWas Owned by: Bruno Cornec
Priority: normal Milestone: 2.2.9.1
Component: mondo Version: 2.2.9
Severity: normal Keywords:
Cc:

Description

If I specify any non-null exclude path in the Mondoarchive GUI the specified exclude_path is recusively appended to itself until a buffer overrun occurs somewhere and the application segfaults. This happens regardless of the path specified.

Version is v2.2.9-r2460 (2.2.9-1.fc10 package from mondorescue repo). O/S is Fedora 11 (kernel 2.6.30.8-64.fc11.x86_64)

Regards,

Andrew

Attachments (2)

mondoarchive.log (291.8 KB ) - added by AndyWas 14 years ago.
mindi.log (12.2 KB ) - added by AndyWas 14 years ago.

Download all attachments as: .zip

Change History (9)

by AndyWas, 14 years ago

Attachment: mondoarchive.log added

comment:1 by AndyWas, 14 years ago

Version: 2.2.82.2.9

by AndyWas, 14 years ago

Attachment: mindi.log added

comment:2 by Bruno Cornec, 14 years ago

Status: newassigned

Could you also give the command line or interactive steps you do in order for me to reproduce it please ?

comment:3 by AndyWas, 14 years ago

Run 'mondoachive' from console as root to start Mondo ncurses GUI Select 'DVD disks'. (My optical drive is Pioneer BDC-202) Select max. compression Accept default disk size (4480 MB) Accept default (correct) DVD drive /dev entry Accept default backup path ('/') Delete NTFS partition entries found on Windows disk Enter exclude path e.g. '/home' Accept default temp. dir Accept default scratch dir Select verify after backup Confirm sane kernel Confirm proceed with backup Application segfaults

Hope this helps!

Andrew

comment:4 by AndyWas, 14 years ago

Formatting got messed up on previous post - numbered list below

  1. Run 'mondoachive' from console as root to start Mondo ncurses GUI
  2. Select 'DVD disks'. (My optical drive is Pioneer BDC-202)
  3. Select max. compression
  4. Accept default disk size (4480 MB)
  5. Accept default (correct) DVD drive /dev entry
  6. Accept default backup path ('/')
  7. Delete NTFS partition entries found on Windows disk
  8. Enter exclude path e.g. '/home'
  9. Accept default temp. dir
  10. Accept default scratch dir
  11. Select verify after backup
  12. Confirm sane kernel
  13. Confirm proceed with backup
  14. Application segfaults

Hope this helps!

Andrew

comment:5 by entombet, 14 years ago

Same here: fc8 x86, CentOS 5.3 x64, v2.2.9-r2460 . Tried *.rpm's and builds from source. If I try to backup to disk, excluding /mnt /backup:

[Main] libmondo-devices.c->mr_make_devlist_from_pathlist#2002: include_paths is
now '/'
[Main] libmondo-devices.c->mr_make_devlist_from_pathlist#2005: exclude_paths is
now '/mnt /backup/mnt '
[Main] libmondo-devices.c->mr_make_devlist_from_pathlist#2002: include_paths is
now '/'
[Main] libmondo-devices.c->mr_make_devlist_from_pathlist#2005: exclude_paths is
now '/mnt /backup/mnt /backup/mnt '
[Main] libmondo-devices.c->mr_make_devlist_from_pathlist#2002: include_paths is
now '/'
[Main] libmondo-devices.c->mr_make_devlist_from_pathlist#2005: exclude_paths is
now '/mnt /backup/mnt /backup/mnt /backup/mnt '
[Main] libmondo-devices.c->mr_make_devlist_from_pathlist#2002: include_paths is
now '/'
[Main] libmondo-devices.c->mr_make_devlist_from_pathlist#2005: exclude_paths is
now '/mnt /backup/mnt /backup/mnt /backup/mnt /backup/mnt '
[Main] libmondo-devices.c->mr_make_devlist_from_pathlist#2002: include_paths is
now '/'
[Main] libmondo-devices.c->mr_make_devlist_from_pathlist#2005: exclude_paths is now '/mnt /backup/mnt /backup/mnt /backup/mnt /backup/mnt /backup/mnt '

/backup/mnt is added infinitely until segfault.

Notice that I'm excluding /mnt /backup not /backup/mnt

Regards,

EnTomBet

comment:6 by Bruno Cornec, 14 years ago

Milestone: 2.2.102.2.9.1
Resolution: fixed
Status: assignedclosed

This problem is linked to the introductoin of the new function mr_make_devlist_from_pathlist which directly appends to the bkpinfo->exclude_path variable. So it should not been used with that as an entry parameter, as it creates the loop you're seing.

Fixed in rev [2473].

Will be in 2.2.9.1 published later this week

comment:7 by AndyWas, 14 years ago

Works fine on v2.2.9.1-r2495 - thanks!

Note: See TracTickets for help on using tickets.