~ubuntu-branches/ubuntu/saucy/trousers/saucy-proposed

« back to all changes in this revision

Viewing changes to src/trspi/trousers.c

  • Committer: Package Import Robot
  • Author(s): Pierre Chifflier
  • Date: 2012-11-10 17:04:44 UTC
  • mfrom: (1.1.6)
  • Revision ID: package-import@ubuntu.com-20121110170444-yvoa372npyp02mwr
Tags: 0.3.10-1
* Imported Upstream version 0.3.10
* Update symbols file
* Force build of tools

Show diffs side-by-side

added added

removed removed

Lines of Context:
104
104
        if (size == 0)
105
105
                return;
106
106
 
107
 
        if ((*offset + size) > TSS_TPM_TXBLOB_SIZE)
108
 
                return;
109
 
 
110
107
        if (to)
111
108
                memcpy(&to[(*offset)], from, size);
112
109
        (*offset) += size;
118
115
        if (size <= 0)
119
116
                return;
120
117
 
121
 
        if ((*offset + size) > TSS_TPM_TXBLOB_SIZE)
122
 
                return;
123
 
 
124
118
        if (to)
125
119
                memcpy(to, &from[*offset], size);
126
120
        (*offset) += size;
129
123
void
130
124
Trspi_LoadBlob_BYTE(UINT64 *offset, BYTE data, BYTE *blob)
131
125
{
132
 
        if ((*offset + sizeof(BYTE)) > TSS_TPM_TXBLOB_SIZE)
133
 
                return;
134
 
 
135
126
        if (blob)
136
127
                blob[*offset] = data;
137
128
        (*offset)++;
140
131
void
141
132
Trspi_UnloadBlob_BYTE(UINT64 *offset, BYTE *dataOut, BYTE *blob)
142
133
{
143
 
        if ((*offset + sizeof(BYTE)) > TSS_TPM_TXBLOB_SIZE)
144
 
                return;
145
 
 
146
134
        if (dataOut)
147
135
                *dataOut = blob[*offset];
148
136
        (*offset)++;
167
155
void
168
156
Trspi_LoadBlob_UINT64(UINT64 *offset, UINT64 in, BYTE *blob)
169
157
{
170
 
        if ((*offset + sizeof(UINT64)) > TSS_TPM_TXBLOB_SIZE)
171
 
                return;
172
 
 
173
158
        if (blob)
174
159
                UINT64ToArray(in, &blob[*offset]);
175
160
        (*offset) += sizeof(UINT64);
178
163
void
179
164
Trspi_LoadBlob_UINT32(UINT64 *offset, UINT32 in, BYTE *blob)
180
165
{
181
 
        if ((*offset + sizeof(UINT32)) > TSS_TPM_TXBLOB_SIZE)
182
 
                return;
183
 
 
184
166
        if (blob)
185
167
                UINT32ToArray(in, &blob[*offset]);
186
168
        (*offset) += sizeof(UINT32);
189
171
void
190
172
Trspi_LoadBlob_UINT16(UINT64 *offset, UINT16 in, BYTE *blob)
191
173
{
192
 
        if ((*offset + sizeof(UINT16)) > TSS_TPM_TXBLOB_SIZE)
193
 
                return;
194
 
 
195
174
        if (blob)
196
175
                UINT16ToArray(in, &blob[*offset]);
197
176
        (*offset) += sizeof(UINT16);
200
179
void
201
180
Trspi_UnloadBlob_UINT64(UINT64 *offset, UINT64 *out, BYTE *blob)
202
181
{
203
 
        if ((*offset + sizeof(UINT64)) > TSS_TPM_TXBLOB_SIZE)
204
 
                return;
205
 
 
206
182
        if (out)
207
183
                *out = Decode_UINT64(&blob[*offset]);
208
184
        (*offset) += sizeof(UINT64);
211
187
void
212
188
Trspi_UnloadBlob_UINT32(UINT64 *offset, UINT32 *out, BYTE *blob)
213
189
{
214
 
        if ((*offset + sizeof(UINT32)) > TSS_TPM_TXBLOB_SIZE)
215
 
                return;
216
 
 
217
190
        if (out)
218
191
                *out = Decode_UINT32(&blob[*offset]);
219
192
        (*offset) += sizeof(UINT32);
222
195
void
223
196
Trspi_UnloadBlob_UINT16(UINT64 *offset, UINT16 *out, BYTE *blob)
224
197
{
225
 
        if ((*offset + sizeof(UINT16)) > TSS_TPM_TXBLOB_SIZE)
226
 
                return;
227
 
 
228
198
        if (out)
229
199
                *out = Decode_UINT16(&blob[*offset]);
230
200
        (*offset) += sizeof(UINT16);
1624
1594
 
1625
1595
        if ((tmplen = hacky_strlen("UTF-16", string)) == 0) {
1626
1596
                LogDebug("hacky_strlen returned 0");
 
1597
                iconv_close(cd);
1627
1598
                return 0;
1628
1599
        }
1629
1600
 
2217
2188
        if (c->PCRInfoSize != 0) {
2218
2189
                c->PCRInfo = malloc(sizeof(TPM_PCR_INFO));
2219
2190
                if (c->PCRInfo == NULL) {
2220
 
                        LogError("malloc of %lu bytes failed.", sizeof(TPM_PCR_INFO));
 
2191
                        LogError("malloc of %zd bytes failed.", sizeof(TPM_PCR_INFO));
2221
2192
                        return TSPERR(TSS_E_OUTOFMEMORY);
2222
2193
                }
2223
2194
        } else {