diff options
author | Guillem Jover <guillem@debian.org> | 2018-05-18 10:13:48 +0200 |
---|---|---|
committer | Guillem Jover <guillem@debian.org> | 2018-08-30 03:14:08 +0200 |
commit | 2d5e9185aa3582ff62f34ec3c66feea4439f9f03 (patch) | |
tree | a04fc9ca5d768eb47167c6bb8fec0ee528729de9 /src/trigproc.c | |
parent | 7ab849d1a814b2d2b2e29f9965fb5d51b654265a (diff) | |
download | dpkg-2d5e9185aa3582ff62f34ec3c66feea4439f9f03.tar.gz |
dpkg: Call ensure_package_clientdata() defensively
We want to stop calling this function from the fsys loading code, so we
should make very sure it is being called before we access the clientdata
members, otherwise we'll just segfault.
Diffstat (limited to 'src/trigproc.c')
-rw-r--r-- | src/trigproc.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/trigproc.c b/src/trigproc.c index 70a42eaa2..ef59455e3 100644 --- a/src/trigproc.c +++ b/src/trigproc.c @@ -160,6 +160,7 @@ trigproc_run_deferred(void) push_error_context_jump(&ejbuf, print_error_perpackage, pkg_name(pkg, pnaw_nonambig)); + ensure_package_clientdata(pkg); pkg->clientdata->trigprocdeferred = NULL; trigproc(pkg, TRIGPROC_TRY); @@ -362,6 +363,7 @@ trigproc(struct pkginfo *pkg, enum trigproc_type type) debug(dbg_triggers, "trigproc %s", pkg_name(pkg, pnaw_always)); + ensure_package_clientdata(pkg); if (pkg->clientdata->trigprocdeferred) pkg->clientdata->trigprocdeferred->pkg = NULL; pkg->clientdata->trigprocdeferred = NULL; |