1
0
mirror of https://github.com/moparisthebest/pacman synced 2024-08-13 17:03:46 -04:00

Fix delta parsing

In commit 4c5e7af32f, we changed this code to use the regex gathered
substrings. However, we failed to correctly store the delta file name
(leaking memory), as well as freeing the temporary string used to hold
the file size string.

Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
Dan McGee 2011-12-29 15:17:04 -06:00
parent 39cb865e71
commit 627cf6bca8

View File

@ -301,7 +301,7 @@ alpm_delta_t *_alpm_delta_parse(char *line)
/* start at index 1 -- match 0 is the entire match */
len = pmatch[1].rm_eo - pmatch[1].rm_so;
STRNDUP(tmp, &line[pmatch[1].rm_so], len, return NULL);
STRNDUP(delta->delta, &line[pmatch[1].rm_so], len, return NULL);
len = pmatch[2].rm_eo - pmatch[2].rm_so;
STRNDUP(delta->delta_md5, &line[pmatch[2].rm_so], len, return NULL);
@ -309,6 +309,7 @@ alpm_delta_t *_alpm_delta_parse(char *line)
len = pmatch[3].rm_eo - pmatch[3].rm_so;
STRNDUP(tmp, &line[pmatch[3].rm_so], len, return NULL);
delta->delta_size = _alpm_strtoofft(tmp);
free(tmp);
len = pmatch[4].rm_eo - pmatch[4].rm_so;
STRNDUP(delta->from, &line[pmatch[4].rm_so], len, return NULL);