Public bug reported:

Found upstream report:
https://bugs.freedesktop.org/show_bug.cgi?id=100350


Whilst hacking to identify and correct a binary EDID that reported:

...
Serial number: A9LMIZ002968
Monitor ranges (GTF): 55-75Hz V, 30-85kHz H, max dotclock 190MHz
Monitor name: ASUS
Checksum: 0xfa (should be 0x59)
EDID block does NOT conform to EDID 1.3!
        Detailed block string not properly terminated
EDID block does not conform at all!
        Block has broken checksum

I discovered the "Detailed block string not properly terminated" is
apparently not correct. By adding debug code it reported the exact
cause:

...
extract_string(0xb2305d, 13) A9LMIZ002968
Serial number: A9LMIZ002968
Monitor ranges (GTF): 55-75Hz V, 30-85kHz H, max dotclock 190MHz
extract_string(0x608640, 13) ASUS VW227
  Invalid termination @ 4: no newline
Monitor name: ASUS
Checksum: 0xfa (should be 0x59)
EDID block does NOT conform to EDID 1.3!
        Detailed block string not properly terminated
EDID block does not conform at all!
        Block has broken checksum

in the Monitor Name descriptor the space in "ASUS VW227" is treated as
illegal.

>From reading the specification at

https://en.wikipedia.org/wiki/Extended_Display_Identification_Data#EDID_1.4_data_format

"EDID Other Monitor Descriptors" >
"5–17   Defined by descriptor type. If text, code page 437 text, terminated (if 
less than 13 bytes) with LF and padded with SP."

it appears that spaces are allowed.

In 16.04 the problem is:

 if (isalnum(x[i])) {

and in later versions and currently upstream:

 if (isgraph(x[i])) {

because both these functions treat spaces as not being part of their
set.

** Affects: edid-decode (Ubuntu)
     Importance: Undecided
         Status: Confirmed

** Description changed:

+ Found upstream report:
+ https://bugs.freedesktop.org/show_bug.cgi?id=100350
+ 
+ 
  Whilst hacking to identify and correct a binary EDID that reported:
  
  ...
  Serial number: A9LMIZ002968
  Monitor ranges (GTF): 55-75Hz V, 30-85kHz H, max dotclock 190MHz
  Monitor name: ASUS
  Checksum: 0xfa (should be 0x59)
  EDID block does NOT conform to EDID 1.3!
-         Detailed block string not properly terminated
+         Detailed block string not properly terminated
  EDID block does not conform at all!
-         Block has broken checksum
+         Block has broken checksum
  
  I discovered the "Detailed block string not properly terminated" is
  apparently not correct. By adding debug code it reported the exact
  cause:
  
  ...
  extract_string(0xb2305d, 13) A9LMIZ002968
  Serial number: A9LMIZ002968
  Monitor ranges (GTF): 55-75Hz V, 30-85kHz H, max dotclock 190MHz
  extract_string(0x608640, 13) ASUS VW227
-   Invalid termination @ 4: no newline
+   Invalid termination @ 4: no newline
  Monitor name: ASUS
  Checksum: 0xfa (should be 0x59)
  EDID block does NOT conform to EDID 1.3!
-         Detailed block string not properly terminated
+         Detailed block string not properly terminated
  EDID block does not conform at all!
-         Block has broken checksum
+         Block has broken checksum
  
  in the Monitor Name descriptor the space in "ASUS VW227" is treated as
  illegal.
  
- 
- From reading the specification at 
+ From reading the specification at
  
  
https://en.wikipedia.org/wiki/Extended_Display_Identification_Data#EDID_1.4_data_format
  
  "EDID Other Monitor Descriptors" >
  "5–17         Defined by descriptor type. If text, code page 437 text, 
terminated (if less than 13 bytes) with LF and padded with SP."
  
  it appears that spaces are allowed.
  
  In 16.04 the problem is:
  
-  if (isalnum(x[i])) {
+  if (isalnum(x[i])) {
  
  and in later versions and currently upstream:
  
-  if (isgraph(x[i])) {
+  if (isgraph(x[i])) {
  
  because both these functions treat spaces as not being part of their
  set.

** Changed in: edid-decode (Ubuntu)
       Status: New => Confirmed

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1752978

Title:
  Incorrectly treats spaces in text as invalid in EDID Other Monitor
  Descriptors

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/edid-decode/+bug/1752978/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to