mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-08-04 16:33:40 +02:00
Fix bug in strinfo
We can't search for a larger needle inside of a smaller haystack, and unsigned integer subtraction tends to result in very large numbers rather than small ones. Add a check for this case and abort out immediately. Also add a test case (lifted directly from the docs) that demonstrates the problem. Issue discovered and tracked down by Milan Bouchet-Valat
This commit is contained in:
34
gio/tests/schema-tests/from-docs.gschema.xml
Normal file
34
gio/tests/schema-tests/from-docs.gschema.xml
Normal file
@@ -0,0 +1,34 @@
|
||||
<schemalist>
|
||||
<!-- from the GSettings docs. Should work, I guess :) -->
|
||||
|
||||
<enum id="myenum">
|
||||
<value nick="first" value="1"/>
|
||||
<value nick="second" value="2"/>
|
||||
</enum>
|
||||
|
||||
<schema id="org.gtk.test">
|
||||
|
||||
<key name="key-with-range" type="i">
|
||||
<range min="1" max="100"/>
|
||||
<default>10</default>
|
||||
</key>
|
||||
|
||||
<key name="key-with-choices" type="s">
|
||||
<choices>
|
||||
<choice value='Elisabeth'/>
|
||||
<choice value='Annabeth'/>
|
||||
<choice value='Joe'/>
|
||||
</choices>
|
||||
<aliases>
|
||||
<alias value='Anna' target='Annabeth'/>
|
||||
<alias value='Beth' target='Elisabeth'/>
|
||||
</aliases>
|
||||
<default>'Joe'</default>
|
||||
</key>
|
||||
|
||||
<key name='enumerated-key' enum='myenum'>
|
||||
<default>'first'</default>
|
||||
</key>
|
||||
|
||||
</schema>
|
||||
</schemalist>
|
Reference in New Issue
Block a user