dhcpcd-discuss

[dhcpcd-6.11.2] share SIGSEGV issue patch

Okamoto, Koichi

Thu Aug 18 05:49:07 2016

Hello Roy san,

I came across SIGSEGV issue in dhcpcd-6.11.2 version on Linux-3.10.20.

    The following procedure on Linux3.10.26 causes SIGSEGV:
      # dhcpcd -M -b wlan0
      # dhcpcd --exit wlan0
      # dhcpcd --exit eth0

    ifp->options became NULL at "ifp->options->options |= opts;" in
    dhcpcd_handleargs() function in that case.
    I added NULL check for this portion. That resolves this issue.
    But I am not sure whether it is correct way. because there are
    some ifp->options->options access without ifp->options pointer
    check. If I could get more overall view of dhcpcd software
    structure, I concluded other way. Anyway, this is my current
    solution.

    Please note that to invoke stop_interface() didn't cause SIGSEGV
    in that case because ifp->active was IF_INACTIVE (immediate value is 0)
    at that time. But I consider there is no meaning to call stop_interface()
    when ifp->options is nullptr under master mode.

Best Regards,
Koichi Okamoto

Attachment: 0001-SIGSEGV-issue-is-fixed.patch
Description: 0001-SIGSEGV-issue-is-fixed.patch


Follow-Ups:
Re: [dhcpcd-6.11.2] share SIGSEGV issue patchRoy Marples
Archive administrator: postmaster@marples.name