Possible off-by-one here, there are only NUM_BONUS_DOTS (4) bonus points, so 
index 4 is bad:
http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/saucy/xscreensaver/saucy/view/head:/hacks/pacman_level.c#L542
(and on line 556)

The array of bonus_dot bonus_dots[NUM_BONUS_DOTS] is defined on
http://bazaar.launchpad.net/~ubuntu-
branches/ubuntu/saucy/xscreensaver/saucy/view/head:/hacks/pacman.h#L221

Suggestion for patch: replace <= with < on lines 542 and 556.

BTW, I wonder if the stack is messed up. The stacktrace says:
#0  is_bonus_dot (pp=pp@entry=0x1d24780, x=20, y=19, 
idx=idx@entry=0x7fff5eb693ec) at pacman_level.c:544
        ret = 0
        i = 146321

But the loop variable "i" only goes from 0 to 4. (And should probably
only go to 3.)

** Tags added: bitesize

** Changed in: xscreensaver (Ubuntu)
       Status: New => Confirmed

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to xscreensaver in Ubuntu.
https://bugs.launchpad.net/bugs/1196251

Title:
  pacman crashed with SIGSEGV in is_bonus_dot()

Status in “xscreensaver” package in Ubuntu:
  Confirmed

Bug description:
  I was just selecting which xscreensavers to allow and had not gotten
  to pacman yet when this occurred.

  ProblemType: Crash
  DistroRelease: Ubuntu 13.10
  Package: xscreensaver-data-extra 5.15-2ubuntu2
  ProcVersionSignature: Ubuntu 3.10.0-1.8-generic 3.10.0-rc7
  Uname: Linux 3.10.0-1-generic x86_64
  NonfreeKernelModules: nvidia
  ApportVersion: 2.10.2-0ubuntu3
  Architecture: amd64
  Date: Sun Jun 30 09:56:05 2013
  ExecutablePath: /usr/lib/xscreensaver/pacman
  InstallationDate: Installed on 2013-06-29 (0 days ago)
  InstallationMedia: Ubuntu-GNOME 13.10 "Saucy Salamander" - Alpha amd64 
(20130626)
  MarkForUpload: True
  ProcCmdline: pacman -root -window-id 0x1803DB5
  ProcEnviron:
   PATH=(custom, no user)
   XDG_RUNTIME_DIR=<set>
   LANG=en_US.UTF-8
   SHELL=/bin/bash
  SegvAnalysis:
   Segfault happened at: 0x4084bf:      cmp    0xdb8(%rdi),%esi
   PC (0x004084bf) ok
   source "0xdb8(%rdi)" (0x01ed2004) not located in a known VMA region (needed 
readable region)!
   destination "%esi" ok
  SegvReason: reading unknown VMA
  Signal: 11
  SourcePackage: xscreensaver
  StacktraceTop:
   ?? ()
   ?? ()
   ?? ()
   ?? ()
   __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
  Title: pacman crashed with SIGSEGV in __libc_start_main()
  UpgradeStatus: No upgrade log present (probably fresh install)
  UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/xscreensaver/+bug/1196251/+subscriptions

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to