freebsd-ports/deskutils/libgcal/files/patch-src_atom_parser.c
Wen Heping e8b47f54b7 - Upstream bugfix for a crash issue:
2ac14a59fd
- Added LICENSE
- Removed MD5

PR:		ports/155001
Submitted by:	Lapo Luchini <lapo@lapo.it>
Approved by:	maintainer(timeout, >14 days)
2011-03-14 07:01:38 +00:00

32 lines
1.1 KiB
C

--- src/atom_parser.c.orig 2010-06-20 20:26:34.000000000 +0200
+++ src/atom_parser.c 2011-02-24 12:28:51.710766352 +0100
@@ -282,7 +282,8 @@ static int extract_and_check_multi(xmlDo
if (attr2) {
if (xmlHasProp(node->nodeTab[i], attr2)) {
tmp = xmlGetProp(node->nodeTab[i], attr2);
- (*types)[i] = strdup(strchr(tmp,'#') + 1);
+ if (strchr(tmp,'#'))
+ (*types)[i] = strdup(strchr(tmp,'#') + 1);
xmlFree(tmp);
}
else
@@ -292,7 +293,8 @@ static int extract_and_check_multi(xmlDo
if (attr3) {
if (xmlHasProp(node->nodeTab[i], attr3)) {
tmp = xmlGetProp(node->nodeTab[i], attr3);
- (*protocols)[i] = strdup(strchr(tmp,'#') + 1);
+ if (strchr(tmp,'#'))
+ (*protocols)[i] = strdup(strchr(tmp,'#') + 1);
xmlFree(tmp);
}
else
@@ -383,7 +385,8 @@ static int extract_and_check_multisub(xm
if (attr1) {
if (xmlHasProp(node->nodeTab[i], attr1)) {
tmp = xmlGetProp(node->nodeTab[i], attr1);
- (*types)[i] = strdup(strchr(tmp,'#') + 1);
+ if (strchr(tmp,'#'))
+ (*types)[i] = strdup(strchr(tmp,'#') + 1);
xmlFree(tmp);
} else
(*types)[i] = strdup("");