From: Gijs van Tulder Date: Wed, 30 May 2012 21:00:04 +0000 (+0200) Subject: warc: Fix segfault if CDX record is not found. X-Git-Tag: v1.14~20 X-Git-Url: http://sjero.net/git/?p=wget;a=commitdiff_plain;h=1d14c18d7f81c03fdf79358055ed909c6d65caa1 warc: Fix segfault if CDX record is not found. --- diff --git a/src/ChangeLog b/src/ChangeLog index 7e16b17c..9e74e474 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2012-05-30 Gijs van Tulder + + * warc.c: Fix segfault if CDX record is not found. + 2011-05-26 Steven Schweda * connect.c [HAVE_SYS_SOCKET_H]: Include . [HAVE_SYS_SELECT_H]: Include . diff --git a/src/warc.c b/src/warc.c index 24751dbf..92a49ef8 100644 --- a/src/warc.c +++ b/src/warc.c @@ -1001,10 +1001,10 @@ warc_find_duplicate_cdx_record (char *url, char *sha1_digest_payload) char *key; struct warc_cdx_record *rec_existing; - hash_table_get_pair (warc_cdx_dedup_table, sha1_digest_payload, &key, - &rec_existing); + int found = hash_table_get_pair (warc_cdx_dedup_table, sha1_digest_payload, + &key, &rec_existing); - if (rec_existing != NULL && strcmp (rec_existing->url, url) == 0) + if (found && strcmp (rec_existing->url, url) == 0) return rec_existing; else return NULL;