/soc/2015/mmcc/rand: f17491df15e3: Use a char* for the data buff...
Michael McConville <[email protected]>
| Newsgroups | gmane.comp.gnome.gaim.cvs |
|---|---|
| Message-ID | <[email protected]> |
Changeset: f17491df15e3b786f08f155cd066b33c81b0d4fa Author: Michael McConville <[email protected]> Date: 2015-08-16 21:23 -0400 Branch: default URL: https://hg.pidgin.im/soc/2015/mmcc/rand/rev/f17491df15e3 Description: Use a char* for the data buffer so that we can reliably increment it diffstat: libpurple/util.c | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) diffs (32 lines): diff --git a/libpurple/util.c b/libpurple/util.c --- a/libpurple/util.c +++ b/libpurple/util.c @@ -4994,6 +4994,8 @@ purple_util_random(void *buf, size_t len int fd; ssize_t res; size_t total = 0; + /* allows us to increment pointer one byte at a time */ + char *cbuf = (char*) buf; PurpleSslOps *ops = purple_ssl_get_ops(); /* use SSL API if available... */ @@ -5009,7 +5011,7 @@ purple_util_random(void *buf, size_t len } /* this loop could become infinite, but that would be bizarre */ while (total < len) { - res = read(fd, buf, len - total); + res = read(fd, cbuf, len - total); if (res < 0) { purple_debug_error("purple_random", "/dev/urandom read failed: %s", g_strerror(errno)); @@ -5017,8 +5019,8 @@ purple_util_random(void *buf, size_t len return 1; /* condition used to clarify danger of underflow on cast */ } else { - buf += (size_t)res; - total += (size_t)res; + cbuf += (size_t) res; + total += (size_t) res; } } close(fd); _______________________________________________ Commits mailing list [email protected] https://pidgin.im/cgi-bin/mailman/listinfo/commits