Launchpad has imported 3 comments from the remote bug at
https://bugs.freedesktop.org/show_bug.cgi?id=94323.

If you reply to an imported comment from within Launchpad, your comment
will be sent to the remote bug automatically. Read more about
Launchpad's inter-bugtracker facilities at
https://help.launchpad.net/InterBugTracking.

------------------------------------------------------------------------
On 2016-02-28T01:54:18+00:00 Dirk F wrote:

Created attachment 122012
patch taken from running pm-functions; also fixes comment typo

The function run_hooks() in pm-functions proposes to-be-executed hooks
that includes subdirectories in the hook directories but neither fully
validates each such hook as a regular file nor handles a set of to-be-
executed hooks in a subdirectory. This can cause a hook to be executed
more than once.

At lines 241 on, there is a code path with no else clause:

  if [ -f "$syshooks/$base" ]; then
   hook="$syshooks/$base"
  elif [ -f "$phooks/$base" ]; then
   hook="$phooks/$base"
  fi

If the $base proposed by the for statement at line 229 doesn't match
either of the -f tests (which will happen eg if a hook is configured in
a subdirectory of the hook directory), the $hook from the previous
iteration can be accidentally reused.

An easy fix is to insert the missing else clause before the fi line so
that the script skips the subdirectory or other non-regular file and
carries on with the next correctly specified hook, as in the attached
patch.

Reply at: https://bugs.launchpad.net/ubuntu/+source/pm-
utils/+bug/1548486/comments/2

------------------------------------------------------------------------
On 2016-02-28T01:59:57+00:00 Dirk F wrote:

Created attachment 122013
patch taken from running pm-functions; also fixes comment typo

(attached wrong file)

Reply at: https://bugs.launchpad.net/ubuntu/+source/pm-
utils/+bug/1548486/comments/3

------------------------------------------------------------------------
On 2018-06-29T19:57:09+00:00 Ajax-a wrote:

pm-utils hasn't been touched in eight years, none of this is likely to
get addressed. Closing bugs and disabling the bz product.

Reply at: https://bugs.launchpad.net/ubuntu/+source/pm-
utils/+bug/1548486/comments/14


** Changed in: pm-utils
       Status: Unknown => Won't Fix

** Changed in: pm-utils
   Importance: Unknown => Medium

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to pm-utils in Ubuntu.
https://bugs.launchpad.net/bugs/1548486

Title:
  Sleep hook in a subdirectory ignored but causes double execution of
  previous hook

Status in pm-utils:
  Won't Fix
Status in pm-utils package in Ubuntu:
  Confirmed

Bug description:
  The set of sleep hooks provided in /usr/lib/pm-utils/sleep.d includes
  one (95packagekit/95packagekit) that is stored in a subdirectory. This
  has two effects:

  1    the hook is not run;

  2    the previous hook, currently /usr/lib/pm-utils/sleep.d/95led, is
  run for a second time instead.

  Presumably #1 is wrong, and results from an installation fault in
  packagekit,  separately reported as bug 1548480.

  #2 occurs because the function run_hooks() in /usr/lib/pm-utils/pm-
  functions computes a list of to-be-executed hooks that includes
  directories but neither fully validates each such hook as a regular
  file nor handles a set of to-be-executed hooks in a subdirectory.

  At lines 243 on, there is  a code path with no else clause through
  which the $hook from the previous iteration can be accidentally
  reused:

                if [ -f "$syshooks/$base" ]; then
                        hook="$syshooks/$base"
                elif [ -f "$phooks/$base" ]; then
                        hook="$phooks/$base"
                fi

  An easy fix is to insert the missing else clause before the fi line so
  that the script skips the subdirectory or other non-regular file and
  carries on with the next correctly specified hook:

                if [ -f "$syshooks/$base" ]; then
                        hook="$syshooks/$base"
                elif [ -f "$phooks/$base" ]; then
                        hook="$phooks/$base"
                else 
                        continue
                fi

  Observed in Lubuntu 14.04.3,4 with pm-utils 1.4.1-13ubuntu0.1,2.
  However the relevant pm-utils code dates back to 2008, pm-utils
  upstream version 1.1.0.

  ProblemType: Bug
  DistroRelease: Ubuntu 14.04
  Package: pm-utils 1.4.1-13ubuntu0.2 [modified: usr/lib/pm-utils/pm-functions]
  ProcVersionSignature: Ubuntu 4.2.0-29.34~14.04.1-generic 4.2.8-ckt3
  Uname: Linux 4.2.0-29-generic i686
  ApportVersion: 2.14.1-0ubuntu3.19
  Architecture: i386
  Date: Mon Feb 22 17:10:53 2016
  InstallationDate: Installed on 2016-02-21 (0 days ago)
  InstallationMedia: Lubuntu 14.04.4 LTS "Trusty Tahr" - Release i386 
(20160217.1)
  PackageArchitecture: all
  SourcePackage: pm-utils
  UpgradeStatus: No upgrade log present (probably fresh install)

To manage notifications about this bug go to:
https://bugs.launchpad.net/pm-utils/+bug/1548486/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to