Mercurial > pidgin
view fix-casts.sh @ 26214:7988bbd25151
fixes an invalid read:
==12531== Invalid read of size 1
==12531== at 0xFD7FB2D: yahoo_packet_read (yahoo_packet.c:205)
==12531== by 0xFD6E18D: yahoo_pending (yahoo.c:3267)
==12531== by 0x474C5C: pidgin_io_invoke (gtkeventloop.c:78)
==12531== by 0x9DF8D5A: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.1800.2)
==12531== by 0x9DFC52C: (within /usr/lib/libglib-2.0.so.0.1800.2)
==12531== by 0x9DFCA5C: g_main_loop_run (in /usr/lib/libglib-2.0.so.0.1800.2)
==12531== by 0x60677A6: gtk_main (in /usr/lib/libgtk-x11-2.0.so.0.1400.4)
==12531== by 0x492CFF: main (gtkmain.c:892)
==12531== Address 0xcee0552 is 0 bytes after a block of size 26 alloc'd
==12531== at 0x4C265AE: malloc (vg_replace_malloc.c:207)
==12531== by 0x9E01472: g_malloc (in /usr/lib/libglib-2.0.so.0.1800.2)
==12531== by 0x9E19056: g_memdup (in /usr/lib/libglib-2.0.so.0.1800.2)
==12531== by 0xFD6E1E8: yahoo_pending (yahoo.c:3271)
==12531== by 0x474C5C: pidgin_io_invoke (gtkeventloop.c:78)
==12531== by 0x9DF8D5A: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.1800.2)
==12531== by 0x9DFC52C: (within /usr/lib/libglib-2.0.so.0.1800.2)
==12531== by 0x9DFCA5C: g_main_loop_run (in /usr/lib/libglib-2.0.so.0.1800.2)
==12531== by 0x60677A6: gtk_main (in /usr/lib/libgtk-x11-2.0.so.0.1400.4)
==12531== by 0x492CFF: main (gtkmain.c:892)
author | Ka-Hing Cheung <khc@hxbc.us> |
---|---|
date | Thu, 26 Mar 2009 03:40:59 +0000 |
parents | c3ca613ab550 |
children |
line wrap: on
line source
#!/bin/sh if [ $# -eq 0 ]; then echo "Usage: `basename "$0"` PurpleFoo..." echo echo "This script searches the *current working directory* and replaces casts" echo "with GObject-style type checking and casting macros." echo 'For example, "(PurpleBuddy *)b" becomes "PURPLE_BUDDY(b)".' exit 0 fi for struct in $* ; do cast=`echo $struct | sed "s|[A-Z]|_\0|g" | tr "a-z" "A-Z" | sed "s|^_||"` for file in `grep -rl "([[:space:]]*$struct[[:space:]]*\*[[:space:]]*)" . --include=*.c --exclude=purple-client-bindings.c` ; do sed -i "s|([[:space:]]*$struct[[:space:]]*\*[[:space:]]*)[[:space:]]*(|$cast(|g" $file sed -i "s|([[:space:]]*$struct[[:space:]]*\*[[:space:]]*)[[:space:]]*\([^(][^,);]*\)|$cast(\1)|g" $file done done