GNU bug report logs - #51076
28.0.60; Null dereference warning with nox build in make_lispy_position

Previous Next

Package: emacs;

Reported by: "Basil L. Contovounesios" <contovob <at> tcd.ie>

Date: Thu, 7 Oct 2021 11:36:02 UTC

Severity: minor

Found in version 28.0.60

Fixed in version 28.1

Done: "Basil L. Contovounesios" <contovob <at> tcd.ie>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 51076 in the body.
You can then email your comments to 51076 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#51076; Package emacs. (Thu, 07 Oct 2021 11:36:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Basil L. Contovounesios" <contovob <at> tcd.ie>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Thu, 07 Oct 2021 11:36:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: "Basil L. Contovounesios" <contovob <at> tcd.ie>
To: bug-gnu-emacs <at> gnu.org
Subject: 28.0.60; Null dereference warning with nox build in
 make_lispy_position
Date: Thu, 07 Oct 2021 12:35:24 +0100
Severity: minor

I'm currently seeing the following warning with GCC 10.3.0 and
--without-x:

In file included from keyboard.c:29:
keyboard.c: In function ‘make_lispy_position’:
frame.h:949:35: warning: null pointer dereference [-Wnull-dereference]
  949 | #define FRAME_TAB_BAR_LINES(f) (f)->tab_bar_lines
      |                                ~~~^~~~~~~~~~~~~~~
keyboard.c:5134:10: note: in expansion of macro ‘FRAME_TAB_BAR_LINES’
 5134 |       && FRAME_TAB_BAR_LINES (f) > 0
      |          ^~~~~~~~~~~~~~~~~~~

AFAICT the preceding condition '!FRAME_WINDOW_P (f)' will always be true
in a nox build, but it's not clear to me what the logic of
make_lispy_position should do in such a case.

Thanks,

-- 
Basil

In GNU Emacs 28.0.60 (build 1, x86_64-pc-linux-gnu)
 of 2021-10-07 built on tia
Repository revision: b7a10b44acf94458ed5f590be76749cec3e1b8dc
Repository branch: emacs-28
System Description: Debian GNU/Linux bookworm/sid

Configured using:
 'configure 'CC=ccache gcc' 'CFLAGS=-O2 -march=native' --config-cache
 --prefix=/home/blc/.local --program-suffix=-28-nox
 --enable-checking=structs --with-file-notification=yes
 --with-x-toolkit=no --without-x'

Configured features:
ACL DBUS GMP GNUTLS GPM JSON LCMS2 LIBSELINUX LIBSYSTEMD LIBXML2 MODULES
NOTIFY INOTIFY PDUMPER SECCOMP SOUND THREADS XIM ZLIB

Important settings:
  value of $LANG: en_IE.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs
rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util rmail
tool-bar rmail-loaddefs auth-source cl-seq eieio eieio-core cl-macs
eieio-loaddefs password-cache json map text-property-search time-date
subr-x seq mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils mailheader cl-loaddefs cl-lib sendmail rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mail-utils term/xterm xterm byte-opt gv
bytecomp byte-compile cconv regexp-opt iso-transl tooltip eldoc paren
electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode
tabulated-list replace newcomment text-mode lisp-mode prog-mode register
page tab-bar menu-bar rfn-eshadow isearch easymenu timer select mouse
jit-lock font-lock syntax font-core term/tty-colors frame minibuffer
cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai
tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian
slovak czech european ethiopic indian cyrillic chinese composite
emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help
simple abbrev obarray cl-preloaded nadvice button loaddefs faces
cus-face macroexp files window text-properties overlay sha1 md5 base64
format env code-pages mule custom widget hashtable-print-readable
backquote threads dbusbind inotify lcms2 multi-tty make-network-process
emacs)

Memory information:
((conses 16 55431 6608)
 (symbols 48 6643 1)
 (strings 32 18253 1556)
 (string-bytes 1 603597)
 (vectors 16 10645)
 (vector-slots 8 126102 7553)
 (floats 8 24 35)
 (intervals 56 193 0)
 (buffers 992 10))




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#51076; Package emacs. (Thu, 07 Oct 2021 13:11:01 GMT) Full text and rfc822 format available.

Message #8 received at 51076 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: "Basil L. Contovounesios" <contovob <at> tcd.ie>
Cc: 51076 <at> debbugs.gnu.org
Subject: Re: bug#51076: 28.0.60;
 Null dereference warning with nox build in make_lispy_position
Date: Thu, 07 Oct 2021 16:10:41 +0300
> Date: Thu, 07 Oct 2021 12:35:24 +0100
> From:  "Basil L. Contovounesios" via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
> 
> In file included from keyboard.c:29:
> keyboard.c: In function ‘make_lispy_position’:
> frame.h:949:35: warning: null pointer dereference [-Wnull-dereference]
>   949 | #define FRAME_TAB_BAR_LINES(f) (f)->tab_bar_lines
>       |                                ~~~^~~~~~~~~~~~~~~
> keyboard.c:5134:10: note: in expansion of macro ‘FRAME_TAB_BAR_LINES’
>  5134 |       && FRAME_TAB_BAR_LINES (f) > 0
>       |          ^~~~~~~~~~~~~~~~~~~
> 
> AFAICT the preceding condition '!FRAME_WINDOW_P (f)' will always be true
> in a nox build

Yes, but what about a build with X support that displays a TTY frame?

I installed a trivial fix.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#51076; Package emacs. (Fri, 08 Oct 2021 10:21:02 GMT) Full text and rfc822 format available.

Message #11 received at 51076 <at> debbugs.gnu.org (full text, mbox):

From: "Basil L. Contovounesios" <contovob <at> tcd.ie>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 51076 <at> debbugs.gnu.org
Subject: Re: bug#51076: 28.0.60; Null dereference warning with nox build in
 make_lispy_position
Date: Fri, 08 Oct 2021 11:20:41 +0100
close 51076 28.1
quit

Eli Zaretskii [2021-10-07 09:10 -0400] wrote:

>> Date: Thu, 07 Oct 2021 12:35:24 +0100
>> From:  "Basil L. Contovounesios" via "Bug reports for GNU Emacs,
>>  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
>> 
>> In file included from keyboard.c:29:
>> keyboard.c: In function ‘make_lispy_position’:
>> frame.h:949:35: warning: null pointer dereference [-Wnull-dereference]
>>   949 | #define FRAME_TAB_BAR_LINES(f) (f)->tab_bar_lines
>>       |                                ~~~^~~~~~~~~~~~~~~
>> keyboard.c:5134:10: note: in expansion of macro ‘FRAME_TAB_BAR_LINES’
>>  5134 |       && FRAME_TAB_BAR_LINES (f) > 0
>>       |          ^~~~~~~~~~~~~~~~~~~
>> 
>> AFAICT the preceding condition '!FRAME_WINDOW_P (f)' will always be true
>> in a nox build
>
> Yes, but what about a build with X support that displays a TTY frame?
>
> I installed a trivial fix.

Thanks, that does the trick.

-- 
Basil




bug marked as fixed in version 28.1, send any further explanations to 51076 <at> debbugs.gnu.org and "Basil L. Contovounesios" <contovob <at> tcd.ie> Request was from "Basil L. Contovounesios" <contovob <at> tcd.ie> to control <at> debbugs.gnu.org. (Fri, 08 Oct 2021 10:21:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 05 Nov 2021 11:24:11 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 171 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.