r22542: Move over to using the _strict varients of the talloc
[samba.git] / source3 / rpc_parse / parse_prs.c
index ca46807932d20340c3fe387bee64e78306a3e2c7..bf79c443953c6b6fe652387ef5a90fc5a8bb2a86 100644 (file)
@@ -156,9 +156,9 @@ char *prs_alloc_mem(prs_struct *ps, size_t size, unsigned int count)
 {
        char *ret = NULL;
 
-       if (size) {
+       if (size && count) {
                /* We can't call the type-safe version here. */
-               ret = (char *)_talloc_zero_array(ps->mem_ctx, size, count,
+               ret = (char *)_talloc_zero_array_strict(ps->mem_ctx, size, count,
                                                 "parse_prs");
        }
        return ret;
@@ -1332,7 +1332,7 @@ BOOL prs_string(const char *name, prs_struct *ps, int depth, char *str, int max_
 
        ps->data_offset += len+1;
 
-       dump_data(5+depth, q, len);
+       dump_data(5+depth, (uint8 *)q, len);
 
        return True;
 }
@@ -1456,38 +1456,38 @@ BOOL prs_uint32_post(const char *name, prs_struct *ps, int depth, uint32 *data32
 /* useful function to store a structure in rpc wire format */
 int tdb_prs_store(TDB_CONTEXT *tdb, TDB_DATA kbuf, prs_struct *ps)
 {
-    TDB_DATA dbuf;
-    dbuf.dptr = ps->data_p;
-    dbuf.dsize = prs_offset(ps);
-    return tdb_trans_store(tdb, kbuf, dbuf, TDB_REPLACE);
+       TDB_DATA dbuf;
+       dbuf.dptr = (uint8 *)ps->data_p;
+       dbuf.dsize = prs_offset(ps);
+       return tdb_trans_store(tdb, kbuf, dbuf, TDB_REPLACE);
 }
 
 int tdb_prs_store_bystring(TDB_CONTEXT *tdb, char *keystr, prs_struct *ps)
 {
-    TDB_DATA kbuf = string_term_tdb_data(keystr);
-    return tdb_prs_store(tdb, kbuf, ps);
+       TDB_DATA kbuf = string_term_tdb_data(keystr);
+       return tdb_prs_store(tdb, kbuf, ps);
 }
 
 /* useful function to fetch a structure into rpc wire format */
 int tdb_prs_fetch(TDB_CONTEXT *tdb, TDB_DATA kbuf, prs_struct *ps, TALLOC_CTX *mem_ctx)
 {
-    TDB_DATA dbuf;
+       TDB_DATA dbuf;
 
-    prs_init(ps, 0, mem_ctx, UNMARSHALL);
+       prs_init(ps, 0, mem_ctx, UNMARSHALL);
 
-    dbuf = tdb_fetch(tdb, kbuf);
-    if (!dbuf.dptr)
-           return -1;
+       dbuf = tdb_fetch(tdb, kbuf);
+       if (!dbuf.dptr)
+               return -1;
 
-    prs_give_memory(ps, dbuf.dptr, dbuf.dsize, True);
+       prs_give_memory(ps, (char *)dbuf.dptr, dbuf.dsize, True);
 
-    return 0;
+       return 0;
 } 
 
 int tdb_prs_fetch_bystring(TDB_CONTEXT *tdb, char *keystr, prs_struct *ps, TALLOC_CTX *mem_ctx)
 {
-    TDB_DATA kbuf = string_term_tdb_data(keystr);
-    return tdb_prs_fetch(tdb, kbuf, ps, mem_ctx);
+       TDB_DATA kbuf = string_term_tdb_data(keystr);
+       return tdb_prs_fetch(tdb, kbuf, ps, mem_ctx);
 }
 
 /*******************************************************************
@@ -1503,13 +1503,13 @@ BOOL prs_hash1(prs_struct *ps, uint32 offset, int len)
 
 #ifdef DEBUG_PASSWORD
        DEBUG(100, ("prs_hash1\n"));
-       dump_data(100, ps->sess_key, 16);
-       dump_data(100, q, len);
+       dump_data(100, (uint8 *)ps->sess_key, 16);
+       dump_data(100, (uint8 *)q, len);
 #endif
        SamOEMhash((uchar *) q, (const unsigned char *)ps->sess_key, len);
 
 #ifdef DEBUG_PASSWORD
-       dump_data(100, q, len);
+       dump_data(100, (uint8 *)q, len);
 #endif
 
        return True;
@@ -1754,9 +1754,9 @@ BOOL schannel_decode(struct schannel_auth_struct *a, enum pipe_auth_level auth_l
                   checksum after the decode, below
                */
                DEBUG(2, ("schannel_decode: FAILED: packet sequence number:\n"));
-               dump_data(2, (const char*)verf->seq_num, sizeof(verf->seq_num));
+               dump_data(2, (const uint8 *)verf->seq_num, sizeof(verf->seq_num));
                DEBUG(2, ("should be:\n"));
-               dump_data(2, (const char*)seq_num, sizeof(seq_num));
+               dump_data(2, (const uint8 *)seq_num, sizeof(seq_num));
 
                return False;
        }
@@ -1764,9 +1764,9 @@ BOOL schannel_decode(struct schannel_auth_struct *a, enum pipe_auth_level auth_l
        if (memcmp(verf->sig, schannel_sig, sizeof(verf->sig))) {
                /* Validate that the other end sent the expected header */
                DEBUG(2, ("schannel_decode: FAILED: packet header:\n"));
-               dump_data(2, (const char*)verf->sig, sizeof(verf->sig));
+               dump_data(2, (const uint8 *)verf->sig, sizeof(verf->sig));
                DEBUG(2, ("should be:\n"));
-               dump_data(2, (const char*)schannel_sig, sizeof(schannel_sig));
+               dump_data(2, (const uint8 *)schannel_sig, sizeof(schannel_sig));
                return False;
        }
 
@@ -1825,7 +1825,7 @@ return the contents of a prs_struct in a DATA_BLOB
 BOOL prs_data_blob(prs_struct *prs, DATA_BLOB *blob, TALLOC_CTX *mem_ctx)
 {
        blob->length = prs_data_size(prs);
-       blob->data = (uint8 *)talloc_zero_size(mem_ctx, blob->length);
+       blob->data = (uint8 *)TALLOC_ZERO_SIZE(mem_ctx, blob->length);
        
        /* set the pointer at the end of the buffer */
        prs_set_offset( prs, prs_data_size(prs) );