Mercurial > pidgin
annotate fix-casts.sh @ 32796:5ae7e1f36b43
Fix a possible XMPP remote crash
A series of specially crafted file transfer requests can cause clients
to reference invalid memory. The user must have accepted one of the
file transfer requests.
The fix is to correctly cancel and free a SOCKS5 connection attempt so
that it does not trigger an attempt to access invalid memory later.
This was reported to us by Jos«± Valent«żn Guti«±rrez and this patch is
written by Paul Aurich.
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Mon, 07 May 2012 03:16:31 +0000 |
parents | c3ca613ab550 |
children |
rev | line source |
---|---|
25826
d1a4088528ce
Add a script to change casts to GObject macros. We'll run this later.
Richard Laager <rlaager@wiktel.com>
parents:
diff
changeset
|
1 #!/bin/sh |
d1a4088528ce
Add a script to change casts to GObject macros. We'll run this later.
Richard Laager <rlaager@wiktel.com>
parents:
diff
changeset
|
2 |
d1a4088528ce
Add a script to change casts to GObject macros. We'll run this later.
Richard Laager <rlaager@wiktel.com>
parents:
diff
changeset
|
3 if [ $# -eq 0 ]; then |
d1a4088528ce
Add a script to change casts to GObject macros. We'll run this later.
Richard Laager <rlaager@wiktel.com>
parents:
diff
changeset
|
4 echo "Usage: `basename "$0"` PurpleFoo..." |
d1a4088528ce
Add a script to change casts to GObject macros. We'll run this later.
Richard Laager <rlaager@wiktel.com>
parents:
diff
changeset
|
5 echo |
d1a4088528ce
Add a script to change casts to GObject macros. We'll run this later.
Richard Laager <rlaager@wiktel.com>
parents:
diff
changeset
|
6 echo "This script searches the *current working directory* and replaces casts" |
d1a4088528ce
Add a script to change casts to GObject macros. We'll run this later.
Richard Laager <rlaager@wiktel.com>
parents:
diff
changeset
|
7 echo "with GObject-style type checking and casting macros." |
d1a4088528ce
Add a script to change casts to GObject macros. We'll run this later.
Richard Laager <rlaager@wiktel.com>
parents:
diff
changeset
|
8 echo 'For example, "(PurpleBuddy *)b" becomes "PURPLE_BUDDY(b)".' |
d1a4088528ce
Add a script to change casts to GObject macros. We'll run this later.
Richard Laager <rlaager@wiktel.com>
parents:
diff
changeset
|
9 exit 0 |
d1a4088528ce
Add a script to change casts to GObject macros. We'll run this later.
Richard Laager <rlaager@wiktel.com>
parents:
diff
changeset
|
10 fi |
d1a4088528ce
Add a script to change casts to GObject macros. We'll run this later.
Richard Laager <rlaager@wiktel.com>
parents:
diff
changeset
|
11 |
d1a4088528ce
Add a script to change casts to GObject macros. We'll run this later.
Richard Laager <rlaager@wiktel.com>
parents:
diff
changeset
|
12 for struct in $* ; do |
d1a4088528ce
Add a script to change casts to GObject macros. We'll run this later.
Richard Laager <rlaager@wiktel.com>
parents:
diff
changeset
|
13 cast=`echo $struct | sed "s|[A-Z]|_\0|g" | tr "a-z" "A-Z" | sed "s|^_||"` |
25828
c3ca613ab550
Minor fixes to the cast changing script.
Richard Laager <rlaager@wiktel.com>
parents:
25826
diff
changeset
|
14 for file in `grep -rl "([[:space:]]*$struct[[:space:]]*\*[[:space:]]*)" . --include=*.c --exclude=purple-client-bindings.c` ; do |
c3ca613ab550
Minor fixes to the cast changing script.
Richard Laager <rlaager@wiktel.com>
parents:
25826
diff
changeset
|
15 sed -i "s|([[:space:]]*$struct[[:space:]]*\*[[:space:]]*)[[:space:]]*(|$cast(|g" $file |
c3ca613ab550
Minor fixes to the cast changing script.
Richard Laager <rlaager@wiktel.com>
parents:
25826
diff
changeset
|
16 sed -i "s|([[:space:]]*$struct[[:space:]]*\*[[:space:]]*)[[:space:]]*\([^(][^,);]*\)|$cast(\1)|g" $file |
25826
d1a4088528ce
Add a script to change casts to GObject macros. We'll run this later.
Richard Laager <rlaager@wiktel.com>
parents:
diff
changeset
|
17 done |
d1a4088528ce
Add a script to change casts to GObject macros. We'll run this later.
Richard Laager <rlaager@wiktel.com>
parents:
diff
changeset
|
18 done |