Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(366)

Side by Side Diff: third_party/harfbuzz-ng/src/hb-blob.cc

Issue 1723043002: Roll HarfBuzz to 1.2.1 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Include upstream ebd7431f824 Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/harfbuzz-ng/README.chromium ('k') | third_party/harfbuzz-ng/src/hb-buffer.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright © 2009 Red Hat, Inc. 2 * Copyright © 2009 Red Hat, Inc.
3 * 3 *
4 * This is part of HarfBuzz, a text shaping library. 4 * This is part of HarfBuzz, a text shaping library.
5 * 5 *
6 * Permission is hereby granted, without written agreement and without 6 * Permission is hereby granted, without written agreement and without
7 * license or royalty fees, to use, copy, modify, and distribute this 7 * license or royalty fees, to use, copy, modify, and distribute this
8 * software and its documentation for any purpose, provided that the 8 * software and its documentation for any purpose, provided that the
9 * above copyright notice and the following two paragraphs appear in 9 * above copyright notice and the following two paragraphs appear in
10 * all copies of this software. 10 * all copies of this software.
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 hb_blob_create (const char *data, 97 hb_blob_create (const char *data,
98 unsigned int length, 98 unsigned int length,
99 hb_memory_mode_t mode, 99 hb_memory_mode_t mode,
100 void *user_data, 100 void *user_data,
101 hb_destroy_func_t destroy) 101 hb_destroy_func_t destroy)
102 { 102 {
103 hb_blob_t *blob; 103 hb_blob_t *blob;
104 104
105 if (!length || 105 if (!length ||
106 length >= 1u << 31 || 106 length >= 1u << 31 ||
107 data + length < data /* overflows */ ||
108 !(blob = hb_object_create<hb_blob_t> ())) { 107 !(blob = hb_object_create<hb_blob_t> ())) {
109 if (destroy) 108 if (destroy)
110 destroy (user_data); 109 destroy (user_data);
111 return hb_blob_get_empty (); 110 return hb_blob_get_empty ();
112 } 111 }
113 112
114 blob->data = data; 113 blob->data = data;
115 blob->length = length; 114 blob->length = length;
116 blob->mode = mode; 115 blob->mode = mode;
117 116
(...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after
470 469
471 memcpy (new_data, blob->data, blob->length); 470 memcpy (new_data, blob->data, blob->length);
472 _hb_blob_destroy_user_data (blob); 471 _hb_blob_destroy_user_data (blob);
473 blob->mode = HB_MEMORY_MODE_WRITABLE; 472 blob->mode = HB_MEMORY_MODE_WRITABLE;
474 blob->data = new_data; 473 blob->data = new_data;
475 blob->user_data = new_data; 474 blob->user_data = new_data;
476 blob->destroy = free; 475 blob->destroy = free;
477 476
478 return true; 477 return true;
479 } 478 }
OLDNEW
« no previous file with comments | « third_party/harfbuzz-ng/README.chromium ('k') | third_party/harfbuzz-ng/src/hb-buffer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698