diff options
author | pixdamix@gmail.com <pixdamix@gmail.com@e8e0d7a0-c8d9-11dd-a880-a1081c7ac358> | 2012-11-22 04:18:08 (EST) |
---|---|---|
committer | pixdamix@gmail.com <pixdamix@gmail.com@e8e0d7a0-c8d9-11dd-a880-a1081c7ac358> | 2012-11-22 04:18:08 (EST) |
commit | 2ba1bc82c6dd55d6ad3903d7b9f25861f1b42ef8 (patch) | |
tree | de707e4aa74853e38c56663555c88392f491019c /ipkg.c | |
parent | 4136443a3a7413ccaa230e023a37084ac1f4d570 (diff) |
merge newpkg->provides even when oldpkg->provides existed
* introduced in http://code.google.com/p/opkg/source/diff?spec=svn277&r=277&format=side&path=/trunk/libopkg/pkg.c
* the problem happens when oldpkg provide 1 and newpkg provide 2
provides_count is merged to 2, but oldpkg->provides has only 1 entry
causing SIGSEGV:
pkg_formatted_field (fp=fp@entry=0x1444ce0, pkg=pkg@entry=0x120c620, field=<optimized out>, field@entry=0x7ffff7bd2abe "Provides") at pkg.c:739
739 fprintf(fp, "%s %s", i == 1 ? "" : ",",
(gdb) bt
#0 pkg_formatted_field (fp=fp@entry=0x1444ce0, pkg=pkg@entry=0x120c620, field=<optimized out>, field@entry=0x7ffff7bd2abe "Provides") at pkg.c:739
#1 0x00007ffff7bc32fc in pkg_print_status (pkg=0x120c620, file=0x1444ce0) at pkg.c:887
#2 0x00007ffff7bbff59 in opkg_conf_write_status_files () at opkg_conf.c:400
#3 0x00007ffff7bbad8a in write_status_files_if_changed () at opkg_cmd.c:65
#4 0x00007ffff7bbb73e in opkg_upgrade_cmd (argc=<optimized out>, argv=<optimized out>) at opkg_cmd.c:577
#5 0x00007ffff7bbbcc2 in opkg_cmd_exec (cmd=cmd@entry=0x7ffff7dda080, argc=argc@entry=1, argv=argv@entry=0x7fffffffe768) at opkg_cmd.c:1319
#6 0x000000000040165f in main (argc=3, argv=0x7fffffffe758) at opkg-cl.c:377
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
git-svn-id: http://opkg.googlecode.com/svn/trunk@642 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
Diffstat (limited to 'ipkg.c')
0 files changed, 0 insertions, 0 deletions