[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Git][xorg-team/lib/libdrm][debian-unstable] Add xf86drm-Handle-NULL-in-drmCopyVersion.patch



Title: GitLab

Timo Aaltonen pushed to branch debian-unstable at X Strike Force / lib / libdrm

Commits:

  • 90ad0a8b
    by Daniel van Vugt at 2025-03-28T16:56:17+08:00
    Add xf86drm-Handle-NULL-in-drmCopyVersion.patch
    
    To avoid SIGSEGV when some kernel drivers leave strings NULL.
    
    https://bugs.launchpad.net/bugs/2104352
    

2 changed files:

Changes:

  • debian/patches/series
    1 1
     01_default_perms.diff
    
    2 2
     amdgpu-add-env-support-for-amdgpu-ids.patch
    
    3
    +xf86drm-Handle-NULL-in-drmCopyVersion.patch

  • debian/patches/xf86drm-Handle-NULL-in-drmCopyVersion.patch
    1
    +From: Daniel van Vugt <daniel.van.vugt@canonical.com>
    
    2
    +Date: Thu, 27 Mar 2025 17:41:37 +0800
    
    3
    +Subject: xf86drm: Handle NULL in drmCopyVersion
    
    4
    +
    
    5
    +Just as it is already handled in the caller, `drmGetVersion`.
    
    6
    +
    
    7
    +I'm not sure what the offending driver is, but the Ubuntu incidents
    
    8
    +seem to be coming from a dual Intel/Nvidia machine. And they show
    
    9
    +it is `card1` so I'm guessing `nvidia-drm` is the offender.
    
    10
    +
    
    11
    +Bug-Ubuntu: https://bugs.launchpad.net/bugs/2104352
    
    12
    +---
    
    13
    + xf86drm.c | 6 +++---
    
    14
    + 1 file changed, 3 insertions(+), 3 deletions(-)
    
    15
    +
    
    16
    +diff --git a/xf86drm.c b/xf86drm.c
    
    17
    +index 6ca5626..b5db577 100644
    
    18
    +--- a/xf86drm.c
    
    19
    ++++ b/xf86drm.c
    
    20
    +@@ -1343,11 +1343,11 @@ static void drmCopyVersion(drmVersionPtr d, const drm_version_t *s)
    
    21
    +     d->version_minor      = s->version_minor;
    
    22
    +     d->version_patchlevel = s->version_patchlevel;
    
    23
    +     d->name_len           = s->name_len;
    
    24
    +-    d->name               = strdup(s->name);
    
    25
    ++    d->name               = s->name ? strdup(s->name) : NULL;
    
    26
    +     d->date_len           = s->date_len;
    
    27
    +-    d->date               = strdup(s->date);
    
    28
    ++    d->date               = s->date ? strdup(s->date) : NULL;
    
    29
    +     d->desc_len           = s->desc_len;
    
    30
    +-    d->desc               = strdup(s->desc);
    
    31
    ++    d->desc               = s->desc ? strdup(s->desc) : NULL;
    
    32
    + }
    
    33
    + 
    
    34
    + 


  • Reply to: