/*
 * Copyright ©2026 Soham Pardeshi. All rights reserved.
 * Permission is hereby granted to students registered for University of
 * Washington CSE 333 for use solely during Summer Quarter 2026 for
 * purposes of the course. No other use, copying, distribution, or
 * modification is permitted without prior written consent. Copyrights
 * for third-party components of this work must be honored. Instructors
 * interested in reusing these course materials should contact the author.
 */

// INTENTIONAL BUG (lecture demo): the malloc'd block is never freed.
// When Leak returns, the only pointer (a) is gone but the 100 bytes remain
// allocated and unreachable: a memory leak (try running under valgrind).
#include <stdio.h>
#include <stdlib.h>

void Leak(void) {
  int* a = malloc(100);  // 100 bytes
  // ... use a ...
}  // a disappears; bytes never freed

int main(int argc, char* argv[]) {
  Leak();
  // 100 bytes now unreachable
  return EXIT_SUCCESS;
}