mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-22 10:19:57 +01:00
sm: Fix error checking of decryption result.
* sm/call-agent.c (gpgsm_agent_pkdecrypt): Fix condition. -- Cherry-pick master commit of: 15fe78184cc66ce6e657a6e949a522d7821f8a1c Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
This commit is contained in:
parent
64500e7f6d
commit
ccf5cc8b0b
@ -496,7 +496,8 @@ gpgsm_agent_pkdecrypt (ctrl_t ctrl, const char *keygrip, const char *desc,
|
|||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
put_membuf (&data, "", 1); /* Make sure it is 0 terminated so we can invoke strtoul safely. */
|
/* Make sure it is 0 terminated so we can invoke strtoul safely. */
|
||||||
|
put_membuf (&data, "", 1);
|
||||||
buf = get_membuf (&data, &len);
|
buf = get_membuf (&data, &len);
|
||||||
if (!buf)
|
if (!buf)
|
||||||
return gpg_error (GPG_ERR_ENOMEM);
|
return gpg_error (GPG_ERR_ENOMEM);
|
||||||
@ -527,7 +528,7 @@ gpgsm_agent_pkdecrypt (ctrl_t ctrl, const char *keygrip, const char *desc,
|
|||||||
if (!n || *endp != ':')
|
if (!n || *endp != ':')
|
||||||
return gpg_error (GPG_ERR_INV_SEXP);
|
return gpg_error (GPG_ERR_INV_SEXP);
|
||||||
endp++;
|
endp++;
|
||||||
if (endp-p+n > len)
|
if (endp-p+n != len)
|
||||||
return gpg_error (GPG_ERR_INV_SEXP); /* Oops: Inconsistent S-Exp. */
|
return gpg_error (GPG_ERR_INV_SEXP); /* Oops: Inconsistent S-Exp. */
|
||||||
|
|
||||||
memmove (buf, endp, n);
|
memmove (buf, endp, n);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user