Bug 1001645

Summary: harfbuzz: misuse of snprintf return value
Product: Red Hat Enterprise Linux 7 Reporter: Florian Weimer <fweimer>
Component: harfbuzzAssignee: Parag Nemade <pnemade>
Status: CLOSED CURRENTRELEASE QA Contact: QE Internationalization Bugs <qe-i18n-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.0CC: behdad, eng-i18n-bugs, lijli, qe-i18n-bugs, tagoh
Target Milestone: rcKeywords: i18n
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: harfbuzz-0.9.20-1.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-06-13 10:02:09 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1001533    

Description Florian Weimer 2013-08-27 12:59:12 UTC
src/hb-buffer-serializer.cc:_hb_buffer_serialize_glyphs_json() misuses return value from snprintf().  Same for _hb_buffer_serialize_glyphs_text() and hbsrc/hb-shape.cc:_feature_to_string().  These cases are likely harmless because they do not happen inside a loop which could actually overflow the buffer.

Comment 2 Behdad Esfahbod 2013-08-27 14:50:09 UTC
In all three cases it's guaranteed that they don't overflow the buffer.  I'm still not sure how this is "misuse".  As such, I'm not sure what there is to fix.

Comment 3 Behdad Esfahbod 2013-08-27 14:51:02 UTC
Ok, I now understand what you mean by misuse.  But I think the code is fine the way it is.

Comment 4 Florian Weimer 2013-08-27 15:05:45 UTC
What I meant: snprintf can return -1 on error (glibc calls malloc in some cases which could fail; the Harfbuzz code doesn't deal with that), and if the buffer is too small, it returns the non-truncated number of characters, not the length of the truncated string.

Comment 5 Behdad Esfahbod 2013-08-27 15:47:08 UTC
Pushed out a fix for the negative return.  Thanks.

Comment 6 Parag Nemade 2013-08-30 07:55:38 UTC
Thanks behdad for quick fix. I have built harfbuzz-0.9.20-1.el7 now.

Comment 9 Parag Nemade 2014-01-14 11:22:27 UTC
I am going to file errata as errata is needed for each package against whom bug is available and fixed.

Florian,
   I suppose when Akira gave devel-ack+, bugbot should have changed bug status from ON_QA to MODIFIED.

Comment 13 Ludek Smid 2014-06-13 10:02:09 UTC
This request was resolved in Red Hat Enterprise Linux 7.0.

Contact your manager or support representative in case you have further questions about the request.